Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

curses(3X)

term(4)

terminfo(4)

TIC(1M)                              SysV                              TIC(1M)



NAME
     tic - terminfo compiler

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

DESCRIPTION
     tic translates a terminfo(4) 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(3X).

OPTIONS
     -vn (verbose)
               Outputs trace information showing tic's progress to standard
               error.  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        Checks only file for errors. Errors in use= links are not
               detected.

     file      Contains one or more terminfo(4) terminal descriptions in
               source format (see terminfo(4)).  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 complete the entry.  (Entries created from
               file are used first.  If the environment variable TERMINFO is
               set, that directory is searched instead of /usr/lib/terminfo.)
               tic duplicates the capabilities in entry-name for the current
               entry, with the exception of those capabilities that are
               defined explicitly in the current entry.  If the environment
               variable TERMINFO is set, the compiled results are placed there
               instead of /usr/lib/terminfo.

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

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

     When the -c option is used, duplicate terminal names are diagnosed;
     however, when -c is not used, they are.

BUGS
     To allow existing executables from the previous release of the UNIX
     System to continue to run with the compiled terminfo entries created by
     the new terminfo compiler, cancelled capabilities are not marked as
     cancelled within the terminfo binary unless the entry name has a `+'
     within it.  (Such terminal names are used only for inclusion within other
     entries via a use= entry.  Such names are not 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.

FILES
     /usr/lib/terminfo/?/*
                         Compiled terminal description database

DIAGNOSTICS
     Most diagnostic messages produced by tic during the compilation of the
     source file are preceded by 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 a seek(2) 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(3) 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 something wrong 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 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.

      Newline in middle of terminal name
               The trailing comma was probably left off of 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?
               self-explanatory

      Unknown option. Usage is:
               An invalid option was entered.

      Too many file names.  Usage is:
               self-explanatory

      "..." non-existent or permission denied
               The given directory could not be written into.

      "..." is not a directory
               self-explanatory

      "...": 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(2) failed.

     Error in following up use-links.  Either there is a loop in the links or
     they reference non-existent terminals.  In the entries involved, a
     terminfo(4) entry with a use=name capability referenced a non-existent
     terminal called name or name somehow referred back to the given entry.

SEE ALSO
     curses(3X), term(4), terminfo(4)

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