Книга: Основы программирования в Linux

Режимы ввода

Режимы ввода

Режимы ввода управляют тем, как обрабатывается ввод (символы, полученные драйвером терминала от последовательного порта или клавиатуры) до передачи его в программу. Вы управляете вводом, устанавливая флаги в элементе c_iflag структуры termios. Все флаги определены как макросы и могут комбинироваться с помощью поразрядной операции OR. Это свойственно всем режимам терминала.

В элементе c_iflag могут применяться следующие макросы:

BRKINT — генерирует прерывание, когда в линии связи обнаруживается разрыв (потеря соединения);

IGNBRK — игнорирует разрывы соединения в линии связи;

ICRNL — преобразует полученный символ возврата каретки в символ перехода на новую строку;

IGNCR — игнорирует полученные символы возврата каретки;

INLCR — преобразует полученные символы перехода на новую строку в символы возврата каретки;

IGNPAR — игнорирует символы с ошибками четности;

INCPK — выполняет контроль четности у полученных символов;

PARMRK — помечает ошибки четности;

ISTRIP — обрезает (до семи битов) все входные символы;

IXOFF — включает программное управление потоком при вводе;

IXON — включает программное управление потоком при выводе.

Примечание

Если флаги BRKINT и IGNBRK не установлены, сбой на линии связи считывается как символ NULL (0x00).

Вам не придется часто изменять режимы ввода, поскольку обычно стандартные значения — наиболее подходящие, и поэтому мы больше не будем их обсуждать.

Оглавление книги


Генерация: 0.720. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз