BRKINT и IGNBRK | При установке IGNBRK состояние разрыва игнорируется (см. описанную ранее tcsendbreak() ). Если IGNBRK не установлен, а BRKINT установлен, состояние разрыва заставляет tty сбросить все очередизованные входные и выходные данные и послать сигнал SIGINT процессам в группе процессов переднего плана для tty. Если IGNBRK и BRKINT не установлены, состояние разрыва читается как нулевой символ ('\0' ), кроме случая установки PARMRK , в котором обнаруживается ошибка кадрирования и вместо этого в приложение передаются три байта '\377' '\0' '\0' . |
PARMRK и IGNPAR | При установке IGNPAR полученные байты, содержащие ошибки четности или кадрирования, игнорируются (кроме того, что было ранее определено для состояния разрыва). Если IGNPAR не установлен, а PARMRK установлен, полученный байт с ошибкой четности или кадрирования передается приложению как трехбайтовая последовательность '\377' '\0' '\n' , где n — это байт в виде, в котором он был получен. В этом случае, если ISTRIP не установлен, допустимый символ '\377' передается приложению как последовательность двух символов '\377' '\377' ; при установке ISTRIP старший разряд символа '\377' разделяется и передается как '\177' . Если не установлены ни PARMRK , ни IGNPAR , полученный байт с ошибкой четности или кадрирования (отличной от состояния разрыва) передается приложению как отдельный символ '\0' . |
INPCK | При установке INPCK включается проверка четности. Если она не включается, PARMRK и IGNPAR не влияют на полученные ошибки четности. |
ISTRIP | При установке ISTRIP старший разряд отсекается из всех полученных байтов, ограничивая их семью битами. |
INLCR | При установке INLCR полученные символы новой строки ('\n') преобразуются в символы возврата каретки ('\r' ). |
IGNCR | При установке IGNCR полученные символы возврата каретки ('\r' ) игнорируются (не передаются приложению). |
ICRNL | Если установлен ICRNL , а IGNCR не установлен, полученные символы возврата каретки ('\r' ) сообщаются приложению как символы новой строки ('\n' ). |
IUCLC | При установке IUCLC и IEXTEN полученные символы верхнего регистра передаются приложению как символы нижнего регистра. Этот флаг в POSIX не определен. |
IXOFF | При установке IXOFF tty может передать символы Control-S и Control-Q терминалу, чтобы заставить его, соответственно, остановиться и восстановить вывод (то есть передачу данных на компьютер) с целью переполнения входных буферов tty. Это имеет отношение только к последовательным терминалам, поскольку сетевые и локальные терминалы имеют более прямые формы управления потоком. Даже последовательные терминалы часто поддерживают аппаратное управление потоком, контролируемое управляющим флагом (c_cflag ) и делающее неуместным программное управление потоком (Control-S и Control-Q). |
IXON | При установке IXON принятый символ Control-S прекращает передачу входных данных в этот tty, а принятый символ Control-Q перезапускает передачу выходных данных в этот tty. Это соответствует любой форме терминального ввода-вывода, поскольку некоторые пользователи вводят буквенные символы Control-S и Control-Q для приостановки и восстановления вывода. |
IXANY | При установке IXANY любой принятый символ (не просто Control-Q) перезапускает передачу выходных данных. Этот флаг в POSIX не определен. |
IMAXBEL | При установке IMAXBEL предупреждающий символ ('\а' ) передается тогда, когда символ принимается, а входной буфер уже полон. Этот флаг в POSIX не определен. |