[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Режимы вывода - c_oflag
Поле c_oflag управляет обработкой вывода.
Если OPOST установлен, выводимые символы подвергаются постобработке в
соответствии с остальными флагами, иначе выводимые символы передаются
без изменений.
Если установлен OLCUC, буквы нижнего регистра передаются как
соответствующие буквы верхнего регистра. Этот параметр часто
используется вместе с IUCLC.
Если ONLCR установлен, символ NL передается как пара CR-NL. Если OCRNL
установлен, символ CR передается как NL. Если установлен ONOCR, то,
если каретка находится в позиции 0, символ CR не передается. Если
установлен ONLRET, предполагается, что NL выполняет возврат каретки;
счетчик столбцов устанавливается в 0, и используется задержка,
заданная для возврата каретки. Иначе предполагается, что NL выполняет
только перевод строки, счетчик столбцов остается без изменений.
Счетчик столбцов также обнуляется, если передается символ CR.
Биты задержки определяют, на сколько приостанавливать передачу, чтобы
терминал успел выполнить механическое или иное передвижение каретки
при передаче определенных символов. Во всех случаях значение 0
означает отсутствие задержки. Если установлен OFILL, вместо задержки
по таймеру будут передаваться символы заполнения. Это полезно для
высокоскоростных терминалов с небольшими задержками. Если установлен
OFDEL, символом заполнения будет DEL, иначе NUL.
Если определены перевод страницы и вертикальная табуляция, задержка
для них будет около 2 секунд.
Задержки для перевода строки 0.10 секунд. Если установлен ONLRET,
вместо задержки для перевода строки используется задержка для перевода
каретки. Если установлен OFILL, будут переданы два символа заполнения.
Задержка для возврата каретки типа 1 зависит от текущей позиции в
строке, типа 2 - 0.10 секунд, и типа 3 - 0.15 секунд. Если OFILL
установлен, задержка типа 1 передает два символа заполнения, типа 2 -
четыре.
Задержка горизонтальной табуляции типа 1 зависит от текущей позиции,
типа 2 - 0.10 секунд. Задержка типа 3 или флаг XTABS задают, что
табуляции необходимо заменять соответствующим числом пробелов. Если
установлен OFILL, для любой из задержек передаются два символа.
Задержка для сдвига каретки назад - 0.05 секунд. Если установлен
OFILL, передается один символ заполнения.
Реальные задержки зависят от скорости линии и загрузки системы.
Начальные установки: OPOST, ONLCR и TAB3.
РЕЖИМЫ ВЫВОДА - c_oflag
Флаг Значение
OPOST Постобработка вывода
OLCUC Преобразовывать при выводе нижний регистр в
верхний.
ONLCR Преобразовывать на выводе NL в CR-NL
OCRNL Преобразовывать при выводе CR в NL
ONOCR В начале строки CR не передается
ONLRET NL выполняет функцию возврата каретки
OFILL Использовать для задержки символы заполнения
OFDEL Для заполнения используется DEL, иначе NUL
NLDLY Задержки для перевода строки:
NL0
NL1
CRDLY Задержки для возврата каретки:
CR0
CR1
CR2
CR3
TABDLY Задержки для горизонтальной табуляции:
TAB0
TAB1
TAB2
TAB3
XTABS Заменять табуляцию пробелами
BSDLY Задержки для возврата на один символ:
BS0
BS1
VTDLY Задержки для вертикальной табуляции:
VT0
VT1
FFDLY Задержки для перевода страницы:
FF0
FF1