Книги автора: Разработка приложений в среде Linux. Второе изданиеLinux Application Development. Second Edition
/ Книги автора: Разработка приложений в среде Linux. Второе изданиеLinux Application Development. Second Edition
/ Книги автора: Разработка приложений в среде Linux. Второе изданиеLinux Application Development. Second Edition
/ Книги автора: Разработка приложений в среде Linux. Второе изданиеLinux Application Development. Second Edition
/ Книги автора: Разработка приложений в среде Linux. Второе изданиеLinux Application Development. Second Edition
/ Книги автора: Разработка приложений в среде Linux. Второе изданиеLinux Application Development. Second Edition
/ Книга: Разработка приложений в среде Linux. Второе издание
16.5.4. Флаги режима ввода
16.5.4. Флаги режима ввода
Флаги режима ввода влияют на обработку входных данных, хотя иногда они влияют и на выходные данные. Флаги, устанавливаемые в с_iflag
, описаны ниже.
BRKINT и IGNBRK |
При установке IGNBRK состояние разрыва игнорируется (см. описанную ранее tcsendbreak() ). Если IGNBRK не установлен, а BRKINT установлен, состояние разрыва заставляет tty сбросить все очередизованные входные и выходные данные и послать сигнал SIGINT процессам в группе процессов переднего плана для tty. Если IGNBRK и BRKINT не установлены, состояние разрыва читается как нулевой символ ('' ), кроме случая установки PARMRK , в котором обнаруживается ошибка кадрирования и вместо этого в приложение передаются три байта '377' '' '' . |
PARMRK и IGNPAR |
При установке IGNPAR полученные байты, содержащие ошибки четности или кадрирования, игнорируются (кроме того, что было ранее определено для состояния разрыва). Если IGNPAR не установлен, а PARMRK установлен, полученный байт с ошибкой четности или кадрирования передается приложению как трехбайтовая последовательность '377' '' 'n' , где n — это байт в виде, в котором он был получен. В этом случае, если ISTRIP не установлен, допустимый символ '377' передается приложению как последовательность двух символов '377' '377' ; при установке ISTRIP старший разряд символа '377' разделяется и передается как '177' . Если не установлены ни PARMRK , ни IGNPAR , полученный байт с ошибкой четности или кадрирования (отличной от состояния разрыва) передается приложению как отдельный символ '' . |
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 не определен. |
Похожие страницы
- 16.5.5. Флаги режима вывода
- 16.5.3. Флаги
- 2.6. Термостабилизация режима каскада на биполярном транзисторе
- 1.6 Драйверы и буферы ввода-вывода
- Глава 6 BIOS – базовая система ввода-вывода
- 5.2.2.2. Устройства ввода информации в персональный компьютер
- Можно ли входить в систему без ввода имени и пароля?
- Рис. 94. Разрешить использование спящего режима.
- 3.4.1. Смена режима
- Правила ввода формул
- 6.2. Модели ввода-вывода
- Флаги форматирования строк .NET