Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ tic(C) — OpenDesktop 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

captoinfo(ADM)

curses(S)

infocmp(ADM)

term(F)

terminfo(F)


 tic(C)                          19 June 1992                          tic(C)


 Name

    tic - terminfo compiler

 Syntax

    tic [ -v [ n ] ] [ -c ] file

 Description

    The tic command translates a terminfo(F) file from the source format into
    the compiled format.  The results are placed in the directory
    /usr/lib/terminfo.  The compiled format is necessary for use with the
    library routines described in curses(S).

    -v n    (verbose) output to standard error trace information showing
            tic's progress.  The optional integer n is a number from 1 to 10,
            inclusive, indicating the desired level of detail of information.
            If n is omitted, the default level is 1.  If n is specified and
            greater than 1, the level of detail is increased.

    -c      only check file for errors.  Errors in use= links are not
            detected.

    file    contains one or more terminfo(F) terminal descriptions in source
            format (see terminfo(F)).  Each description in the file describes
            the capabilities of a particular terminal.  When a ``use=entry-
            name'' field is discovered in a terminal entry currently being
            compiled, tic reads in the binary from /usr/lib/terminfo to com-
            plete the entry.  (Entries created from file will be used first.
            If the environment variable TERMINFO is set, that directory is
            searched instead of /usr/lib/terminfo.)  tic duplicates the capa-
            bilities in ``entry-name'' for the current entry, with the excep-
            tion of those capabilities that are explicitly defined in the
            current entry.

    If the environment variable TERMINFO is set, the compiled results are
    placed there instead of /usr/lib/terminfo.

 Files

    /usr/lib/terminfo/?/*   compiled terminal description database

 See also

    captoinfo(ADM), curses(S), infocmp(ADM), term(F), terminfo(F)

 Notes

    Total compiled entries cannot exceed 4096 bytes.  The name field cannot
    exceed 128 bytes.

    Terminal names exceeding 14 characters will be truncated to 14 characters
    and a warning message will be printed.

    When the -c option is used, duplicate terminal names will not be diag-
    nosed; however, when -c is not used, they will be.

    To allow existing executables from the previous release of the UNIX sys-
    tem to continue to run with the compiled terminfo entries created by the
    new terminfo compiler, cancelled capabilities will not be marked as can-
    celled within the terminfo binary unless the entry name has a ``+''
    within it.  (Such terminal names are only used for inclusion within other
    entries via a use= entry.  Such names would not be used for real terminal
    names.)

    For example:

       4415+nl, kf1@, kf2@, ....

       4415+base, kf1=\EOc, kf2=\EOd, ....

       4415-nl|4415 terminal without keys,
         use=4415+nl, use=4415+base,

    The above example works as expected; the definitions for the keys do not
    show up in the 4415-nl entry.  However, if the entry 4415+nl did not have
    a plus sign within its name, the cancellations would not be marked within
    the compiled file and the definitions for the function keys would not be
    cancelled within 4415-nl.

 Diagnostics

    Most diagnostic messages produced by tic during the compilation of the
    source file are preceded with the approximate line number and the name of
    the terminal currently being worked on.

    mkdir ... returned bad status
       The named directory could not be created.

    File does not start with terminal names in column one
       The first thing seen in the file, after comments, must be the list of
       terminal names.

    Token after an lseek(S) not NAMES
       Somehow the file being compiled changed during the compilation.

    Not enough memory for use_list element
       or
    Out of memory
       Not enough free memory was available (malloc(S) failed).

    Can't open ...
       The named file could not be created.

    Error in writing ...
       The named file could not be written to.

    Can't link ... to ...
       A link failed.

    Error in re-reading compiled file ...
       The compiled file could not be read back in.

    Premature EOF
       The current entry ended prematurely.

    Backspaced off beginning of line
       This error indicates an error happened within tic.

    Unknown Capability - "..."
       The named invalid capability was found within the file.

    Wrong type used for capability "..."
       For example, a string capability was given a numeric value.

    Unknown token type
       Tokens must be followed by ``@'' to cancel, ``,'' for Booleans, ``#''
       for numbers, or ``='' for strings.

    "...": bad term name
       or
    Line ...: Illegal terminal name - "..."
    Terminal names must start with a letter or digit
       The given name was invalid. Names must not contain white space or
       slashes, and must begin with a letter or digit.

    "...": terminal name too long.
       An extremely long terminal name was found.

    "...": terminal name too short.
       A one-letter name was found.

    "..." filename too long, truncating to "..."
       The given name was truncated to 14 characters due to UNIX system file
       name length limitations.

    "..." defined in more than one entry. Entry being used is "...".
       An entry was found more than once.

    Terminal name "..." synonym for itself
       A name was listed twice in the list of synonyms.

    At least one synonym should begin with a letter.
       At least one of the names of the terminal should begin with a letter.

    Illegal character - "..."
       The given invalid character was found in the input file.

    New-line in middle of terminal name
       The trailing comma was probably left off the list of names.

    Missing comma
       A comma was missing.

    Missing numeric value
       The number was missing after a numeric capability.

    NULL string value
       The proper way to say that a string capability does not exist is to
       cancel it.

    Very long string found.  Missing comma?
       A comma was anticipated but not found.
    Unknown option. Usage is:
       An invalid option was entered.

    Too many file names.  Usage is:
       or
    "..." nonexistent or permission denied
       The given directory could not be written into.

    "..." is not a directory
       or
    "...": Permission denied
       Access denied.

    "...": Not a directory
       tic wanted to use the given name as a directory, but it already exists
       as a file

    SYSTEM ERROR!! Fork failed!!!
       A fork(S) failed.

    Error in following up use-links.  Either there is a loop in the
    links or they reference nonexistent terminals. The following is a
    list of the entries involved:
       A terminfo(F) entry with a ``use=name'' capability either referenced a
       nonexistent terminal called name or name somehow referred back to the
       given entry.

 Standards conformance

    tic is conformant with:

    AT&T SVID Issue 2.


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026