Основы программирования в Linux
Основы программирования в Linux читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
□
CSTOPB□
HUPCL□
PARENB□
PARODDЕсли драйвер терминала обнаруживает, что последний дескриптор файла, ссылающийся на терминал, закрыт и при этом флаг
HUPCLРежимы управления применяются в основном при подключении к модему последовательной линии связи, хотя их можно использовать и при диалоге с терминалом. Обычно легче изменить настройку терминала, чем изменять стандартное поведение линий связи с помощью режимов управления структуры
termiosЛокальные режимы
Эти режимы управляют разнообразными характеристиками терминала. Вы можете задать локальный режим, устанавливая флаги элемента
c_iflagtermios□
ECHO□
ECHOEBackspaceSpaceBackspaceERASE□
ECHOKKILL□
ECHONL□
ICANON□
IEXTEN□
ISIG□
NOFLSH□
TOSTOPДва самых важных флага в этой группе —
ECHOICANONICANONСпециальные управляющие символы
Специальные управляющие символы — это коллекция символов подобных символам от комбинации клавиш <Ctrl>+<C>, действующих особым образом, когда пользователь вводит их. В элементе
c_cctermiosМассив
c_ccICANONc_lflagtermiosВажно понять, что в двух разных режимах есть некоторое взаимное наложение при применении номеров элементов массива. По этой причине никогда не следует смешивать значения для этих двух режимов.
Для канонического режима применяются следующие индексы:
□
VEOFEOF□
VEOLEOL□
VERASEERASE□
VINTRINTR□
VKILLKILL□
VQUITQUIT□
VSUSPSUSP□
VSTARTSTART□
VSTOPSTOPДля канонического режима применяются следующие индексы:
□
VINTRINTR□
VMINMIN□
VQUITQUIT□
VSUSPSUSP□
VTIMETIME□
VSTARTSTART□
VSTOPSTOPПоскольку для более сложной обработки вводимых символов специальные символы и неканонические значения очень важны, мы описываем их в табл. 5.1.
Таблица 5.1
| Символ | Описание |
|---|---|
INTR | Заставляет драйвер терминала отправить сигнал SIGINT |
QUIT | Заставляет драйвер терминала отправить сигнал SIGQUIT |
ERASE | Заставляет драйвер терминала удалить последний символ в строке |
KILL | Заставляет драйвер терминала удалить всю строку |
EOF | Заставляет драйвер терминала передать все символы строки во ввод, считываемый приложением. Если строка пустая, вызов read |
EOL | Действует как ограничитель строки в дополнение к более привычному символу перехода на новую строку |
SUSP | Заставляет драйвер терминала послать сигнал SIGSUSP |
STOP | Действует как "прерыватель потока", т. е. прекращает дальнейший вывод на терминал. Применяется для поддержки управления потоком XON/XOFF и обычно задается как ASCII-символ XOFF |
START | Возобновляет вывод после символа STOPXON |
