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


TERMIO(7) - часть 4


/p>

Если установлен бит IGNBRK, то символы с ошибками протокола и четности игнорируются (то есть не поступают в очередь ввода). В противном случае, при установленном бите BRKINT, получение блока данных, содержащего только нули, (нажатие клавиши прерывания) приведет к генерации сигнала прерывания и опустошению очередей ввода/вывода.

Если установлен бит PARMRK, то символы с ошибкой протокола или четности (если они не игнорируются) вводятся в виде последовательности из трех байт: 0377, 0, x, где x - это данные, полученные при возникновении ошибки. Чтобы избежать в этом случае двусмысленности (если бит ISTRIP не установлен) символ 0377 вводится как пара 0377, 0377. Если бит PARMRK не установлен, то при возникновении ошибки (которая не игнорируется) вводится символ NUL (0).

Если установлен бит INPCK, то действует контроль четности при вводе, в противном случае контроль выключен. Это позволяет формировать четность вывода без ошибок четности при вводе.

Если установлен бит ISTRIP, то у допустимых вводимых символов сначала отбрасывается старший бит; в противном случае обрабатываются все 8 бит.

Если установлен бит INLCR, то вводимые символы перевода строки преобразуются в возврат каретки. Если установлен бит IGNCR, то символы возврата каретки игнорируются (не вводятся); в противном случае, если установлен бит ICRNL, символы возврата каретки преобразуются в перевод строки.

Если установлен бит IUCLC, то большие буквы преобразуются в соответствующие малые буквы.

Если установлен бит IXON, то разрешено старт/стопное управление выводом. Полученный символ STOP приостановит вывод, а символ START его возобновит. Все старт/стопные символы игнорируются, то есть не вводятся. Если установлен бит IXANY, то любой введенный символ возобновит приостановленный вывод.

Если установлен бит IXOFF, то система будет передавать старт/стопные символы, когда очередь ввода почти пуста/ заполнена.

В начальном состоянии все биты поля c_iflag равны 0.

Поле c_oflag определяет системную обработку вывода:

OPOST

OLCUC

ONLCR

OCRNL

ONOCR

ONLRET

OFILL

OFDEL

NLDLY

CRDLY

TABDLY

BSDLY

VTDLY

FFDLY

0000001Постпроцессировать вывод.
0000002Преобразовывать малые буквы в большие.
0000004Преобразовывать перевод строки в пару (перевод строки, возврат каретки).
0000010Преобразовывать возврат каретки в перевод строки.
0000020Не выдавать возврат каретки в нулевой колонке.
0000040Перевод строки выполняет функции возврата каретки.
0000100Использовать для задержки передачу символов-заполнителей.
0000200Символом-заполнителем является DEL (по умолчанию - NUL).
0000400Выбрать задержку для перевода строки:
NL00
NL10000400
0003000Выбрать задержку для возврата каретки:
CR00
CR10001000
CR20002000
CR30003000
0014000Выбрать задержку для горизонтальной табуляции:
TAB00
TAB10004000
TAB20010000
TAB30014000 Разворачивать табуляцию в пробелы.
0020000Выбрать задержку для возврата на шаг:
BS00
BS10020000
0040000Выбрать задержку для вертикальной табуляции:
VT00
VT10040000
0100000Выбрать задержку для перехода к новой странице:
FF00
FF10100000
<


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