VTDLY
FFDLY
Если флаг OPOST
Режимы вывода тоже обычно не используются, поэтому мы не будем их обсуждать в дальнейшем.
Режимы управления
Эти режимы управляют аппаратными характеристиками терминала. Вы задаете режимы управления, устанавливая флаги элемента c_cflag
termios, включающие следующие макросы: CLOCAL
CREAD
CS5
CS6
CS7
CS8
CSTOPB
HUPCL
PARENB
PARODD
Если драйвер терминала обнаруживает, что последний дескриптор файла, ссылающийся на терминал, закрыт и при этом флаг HUPCL
Режимы управления применяются в основном при подключении к модему последовательной линии связи, хотя их можно использовать и при диалоге с терминалом. Обычно легче изменить настройку терминала, чем изменять стандартное поведение линий связи с помощью режимов управления структуры termios
Локальные режимы
Эти режимы управляют разнообразными характеристиками терминала. Вы можете задать локальный режим, устанавливая флаги элемента c_iflag
termios с помощью следующих макросов: ECHO
ECHOE
Backspace, Space, Backspace при получении символа ERASE (стереть); ECHOK
KILL; ECHONL
ICANON
IEXTEN
ISIG
NOFLSH
TOSTOP
Два самых важных флага в этой группе — ECHO
ICANON, переключающий терминал в один из двух различных режимов обработки принимаемых символов. Если установлен флаг ICANON, говорится, что строка в каноническом режиме, если нет, то строка в неканоническом режиме.Специальные управляющие символы
Специальные управляющие символы — это коллекция символов подобных символам от комбинации клавиш c_cc
termios содержатся символы, отображенные на поддерживаемые функции. Позиция каждого символа (его номер в массиве) определяется макросом, других ограничений для управляющих символов не задано.Массив c_cc
ICANON в элементе c_lflag структуры termios) или нет.Важно понять, что в двух разных режимах есть некоторое взаимное наложение при применении номеров элементов массива. По этой причине никогда не следует смешивать значения для этих двух режимов.
Для канонического режима применяются следующие индексы:
VEOF
EOF; VEOL
EOL; VERASE
ERASE; VINTR
INTR; VKILL
KILL; VQUIT
QUIT; VSUSP
SUSP; VSTART
START; VSTOP
STOP.Для канонического режима применяются следующие индексы:
VINTR
INTR; VMIN
MIN; VQUIT
QUIT; VSUSP
SUSP; VTIME
TIME; VSTART
START; VSTOP
STOP.Поскольку для более сложной обработки вводимых символов специальные символы и неканонические значения очень важны, мы описываем их в табл. 5.1.