Unix Man (Справочное руководство)

         

TIC(1M)


TIC(1M)

НАЗВАНИЕ


tic - компилятор для базы данных terminfo

СИНТАКСИС

tic [-v[число]] [-c] файл

ОПИСАНИЕ


Утилита tic транслирует файл из исходного формата в скомпилированный. Результат помещается в соответствующий подкаталог каталога /usr/lib/terminfo. Скомпилированный формат необходим для использования подпрограммами библиотеки .

Смысл аргументов утилиты tic:

-v[число]

Выдавать в стандартный протокол сообщения о процессе компиляции. Необязательный аргумент число должен лежать в пределах от 1 до 10 включительно. Чем больше число, тем детальнее выдаваемая информация. Подразумеваемое значение числа равно 1.

-c Только проверить файл на наличие ошибок. При этом ошибки в полях use= не контролируются.

файл Содержит одно или более описаний терминалов в исходном формате [см. ]. Каждое описание задает характеристики конкретного терминала. Если при компиляции встречается поле use=терминал, то утилита tic дополняет описание, используя двоичный файл из каталога /usr/lib/terminfo (если терминал описан в файле, то используется описание из файла; если установлена переменная окружения TERMINFO, то ее значение используется вместо /usr/lib/ terminfo). Утилита tic при этом дублирует все характеристики терминала в генерируемом описании, кроме тех, которые явно заданы в исходном описании.

Если установлена переменная окружения TERMINFO, то ее значение используется вместо /usr/lib/terminfo для помещения результатов компиляции.

ПРЕДОСТЕРЕЖЕНИЯ


Общий размер скомпилированного описания не должен превышать 4096 байт. Поле имени не должно превышать 128 байт.

Имена терминалов, состоящие более чем из 14 символов, будут обрезаны до 14 символов, при этом будет выдано предупреждение.

Если используется опция -c, одинаковые имена терминалов не диагностируются, однако без опции -c диагностика выдается.

ДИАГНОСТИКА


Большинству диагностических сообщений предшествует примерный номер строки, к которой относится сообщение и имя терминала, описание которого обрабатывалось.

mkdir ... returns bad status


Указанный каталог не может быть создан.

File does not start with terminal names in column one

Первым элементом файла, после комментариев, должен быть список имен терминалов.

Token after seek(2) not NAMES

Видимо, компилируемый файл изменился во время компиляции.

Not enough memory for use_list element или Out of memory

Программе не хватает доступной памяти [malloc(3C) завершился неудачей].

Can't open ...



Указанный файл не может быть создан.

Error in writing ...

В указанный файл нельзя писать.

Can't link ... to ...

Неудача при выполнении системного вызова .

Error in re-reading compiled file ...
Скомпилированный файл не может быть повторно считан.

Premature EOF

Описание кончилось, хотя компилятор ожидал продолжения.

Backspaced off beginning of line

Эта ошибка означает, что с компилятором что-то не в порядке.

Unknown Capability - "..."

Обнаружена указанная неизвестная характеристика.

Wrong type used for capability

Например, булевой характеристике задается числовое значение.

Unknown token type

За именем поля должен следовать один из символов: @ для отмены, , для булева поля, # для числового, = для поля, содержащего цепочку символов.

"..." : bad term name или Line ...: Illegal terminal name - "..."

Указанное имя некорректно. Имена не должны включать пробелы и символы / и должны начинаться с буквы или цифры.

"..." : terminal name too long

Обнаружено слишком длинное имя терминала.

"..." : terminal name too short

Обнаружено односимвольное имя терминала.

"..." : filename too long, truncating to "..."

Указанное имя файла обрезано до 14 символов из-за ограничений системы UNIX на длину имен файлов.

"..." defined in more than one entry. Entry being used is "..."

Повторное описание характеристик.

Terminal name "..." synonym for itself

Имя указано дважды в списке синонимов.

At least one synonym must begin with a letter

Хотя бы одно имя терминала должно начинаться с буквы.

Illegal character - "..."



Обнаружен некорректный символ.

Newline in middle of terminal name

Список имен терминалов не завершается запятой.

Missing comma

Пропущена запятая.

Missing numeric value

После числовой характеристики не указано значение.

NULL string value

Чтобы сказать, что характеристика, описываемая цепочкой символов, отсутствует, надо отменить ее.

Very long string found. Missing comma?

Обнаружена очень длинная цепочка символов.

Unknown option. Usage is: ...

Неизвестная опция.

Too many file names. Usage is:

В командной строке можно указать только одно имя файла.

"..." non-existant or permission denied

В указанный каталог нельзя писать.

"..." is not a directory

Указанный файл не является каталогом.

"..." permission denied

Нет прав доступа.

"...": Not a directory

Утилита tic хочет использовать указанное имя, как имя каталога, но уже существует файл с таким именем.

SYSTEM ERROR!! Fork failed!!!

Системный вызов закончился неудачей.

Error in following up use-links. Either there is a loop in the links or they reference non-existant terminals. The following is a list of entries involved:

Либо в описании использован use=терминал, а терминал не существует, либо терминал каким-либо образом ссылается на данное описание.

ФАЙЛЫ



/usr/lib/terminfo/?/* Скомпилированная база данных опи- саний терминалов.

СМ. ТАКЖЕ



, , в Справочнике программиста.

СЮРПРИЗЫ



Чтобы существующие выполняемые файлы из старых версий системы UNIX могли использовать базу данных terminfo, порождаемую новым компилятором, отмененные характеристики не помечаются как отмененные в скомпилированном формате, если в имя терминала не входит символ +. Такие имена терминалов используются только для включения в другие описания с помощью use=. Они не должны использоваться для реальных терминалов.

Пример:

4415+nl, kf1@, kf2@, ... 4415+base, kf1=\EOc, kf2=\EOd, ... 4415-nl|4415 terminal without keys use=4415+nl,use=4415+base,

Этот пример работает так, как и ожидается, определения для клавиш в описании терминала 4415-nl отсутствуют. Однако, если бы в имени терминала 4415+nl отсутствовал +, то отмена клавиш не занеслась бы в скомпилированный файл и определения клавиш в описании терминала 4415-nl сохранились бы.


Содержание раздела