TIC(8V)

NAME
tic - terminfo compiler

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

AVAILABILITY
This command is available with the System V software installation option. Refer to for information on how to install optional software.

DESCRIPTION

tic compiles a terminfo(5V) source file into the compiled format. The results are placed in the directory /usr/share/lib/terminfo. The compiled format is used by the curses(3V) library.

Each entry in the file describes the capabilities of a particular terminal. When a use=entry field is given in a terminal entry, tic reads in the binary (compiled) description of the indicated entry from /usr/share/lib/terminfo to duplicate the contents of that entry within the one being compiled. However, if an entry by that name is specified in filename, the entry in that source file is used first. Also, if a capability is defined in both entries, the definition in the current entry's source file is used.

If the environment variable TERMINFO is set, that directory is searched and written to instead of /usr/share/lib/terminfo.

OPTIONS

-v[ n]
Verbose. Display trace information on the standard error. The optional integer argument is a number from 1 to 10, inclusive, indicating the desired level of detail. If n is omitted, the default is 1.

-c  Only check filename for errors. Errors in use= links are not detected.

FILES

/usr/share/lib/terminfo/?/*
    compiled terminal description data base

SEE ALSO
fork(2V), curses(3V), curses(3V), malloc(3V), term(5), terminfo(5V)

BUGS
Total compiled entries cannot exceed 4096 bytes. The name field cannot exceed 1024 bytes.

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

For backward compatibility, cancelled capabilities will not be marked as such within the terminfo binary unless the entry name has a `+' within it. Such terminal names are only used for inclusion with a use= field, and typically aren't used for actual terminal names.

DIAGNOSTICS
Most diagnostic messages produced by tic are preceded with the approximate line number and the name of the entry being processed.

mkdir name 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
Out of memory
    Not enough free memory was available (malloc(3V) failed).

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

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

Can'tlink filename to filename
    A link failed.

Error in re-reading compiled filename
    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 - filename
    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.
name: bad term name
Line n: Illegal terminal name - 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.

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

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

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

Terminal name 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 - c
    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.

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

name is not a directory
    Self-explanatory.

name: Permission denied
    Access denied.

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

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