Основы программирования в Linux
Основы программирования в Linux читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
□
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
Специальные управляющие символы
Специальные управляющие символы — это коллекция символов подобных символам от комбинации клавиш <Ctrl>+<C>, действующих особым образом, когда пользователь вводит их. В элементе
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.
Таблица 5.1
Символ | Описание |
---|---|
INTR | Заставляет драйвер терминала отправить сигнал SIGINT |
QUIT | Заставляет драйвер терминала отправить сигнал SIGQUIT |
ERASE | Заставляет драйвер терминала удалить последний символ в строке |
KILL | Заставляет драйвер терминала удалить всю строку |
EOF | Заставляет драйвер терминала передать все символы строки во ввод, считываемый приложением. Если строка пустая, вызов read |
EOL | Действует как ограничитель строки в дополнение к более привычному символу перехода на новую строку |
SUSP | Заставляет драйвер терминала послать сигнал SIGSUSP |
STOP | Действует как "прерыватель потока", т. е. прекращает дальнейший вывод на терминал. Применяется для поддержки управления потоком XON/XOFF и обычно задается как ASCII-символ XOFF |
START | Возобновляет вывод после символа STOP XON |