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


TERM(4) - часть 2


  • Магическое число (восьмеричное 0432).
  • Размер (в байтах) секции имен.
  • Размер (в байтах) секции флагов.
  • Количество коротких целых в секции чисел.
  • Количество коротких целых (смещений) в секции цепочек символов.
  • Размер (в байтах) таблицы цепочек.
  • Следующей идет секция имен терминалов. В ней содержится первая строка из описания , в которой перечисляются различные имена данного терминала, разделенные символами | [см. ]. Эта секция завершается нулевым байтом.

    В секции флагов под каждый флаг отводится один байт. Этот байт равен 0 или 1, в зависимости от того, присутствует соответствующая характеристика или отсутствует. Значение 2 означает, что соответствующая характеристика отменена. Характеристики перечисляются в том же порядке, что и во включаемом файле <term.h>.

    Между секцией флагов и секцией чисел при необходимости вставляется нулевой байт, обеспечивающий выравнивание начала секции чисел по границе полуслова. Все короткие целые выравниваются по границе полуслова.

    Секция чисел похожа на секцию флагов. Описание каждой характеристики занимает 2 байта и представляется коротким целым числом. Значения -1 и -2 означают, что характеристика отсутствует.

    Секция цепочек устроена аналогично. Описание каждой характеристики занимает 2 байта и представляется коротким целым числом. Значения -1 и -2 означают, что характеристика отсутствует. В противном случае значение представляет собой смещение цепочки от начала таблицы цепочек. Специальные символы типа ^X или \c записываются во внутреннем виде, а не в виде пары печатных символов. Информация о заполнителях ($<nn>) и о параметрах (%x) записывается в текстовом виде, без интерпретации.

    Последней секцией является таблица цепочек. Она содержит все цепочки символов, на которые есть ссылки из секции цепочек. Каждая цепочка завершается нулевым байтом.

    Отметим, что процедура setupterm может быть рассчитана на другой набор характеристик, чем тот, который реально присутствует в файле. База данных может измениться после компиляции setupterm, из-за чего в ней могут появиться нераспознаваемые характеристики или наоборот, setupterm может распознавать больше характеристик, чем реально описано в базе данных. Для того, чтобы setupterm могла работать во всех случаях, в заголовок включены размеры других секций. Новые характеристики должны добавляться после уже существующих.




    Начало  Назад  Вперед



    Книжный магазин