русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Некоторые флаги режимов


Дата добавления: 2013-12-23; просмотров: 964; Нарушение авторских прав


Следующая страница перечисляет некоторые атрибуты терминала, которые могут быть изме­нены. Флаги, перечисленные во второй колонке таблицы, являются символьными константами, определенными в <sys/termios.h>, и представляют собой значения отдельных битов. Значения флагов хранятся в следующих четырех полях структуры termios:

c_iflag Поле c_iflag описывает режим обработки ввода. Если установлен флаг IGNBRK, то по­следовательность нулевых бит (break condition, некоторые терминалы или модемы таким об­разом кодируют разрыв линии) игнорируется, то есть не помещается в очередь ввода и не может быть считано ни одним процессом. Иначе, если установлен флаг BRKINT, условие разрыва генерирует сигнал прерывания и сбрасывает входную и выходную очереди.

Если установлен ISTRIP, то вводимые символы обрезаются до 7 бит, иначе они передаются как 8-битные значения. Если установлен ICRNL, то символ CR переводится в символ NL.

Если установлен IXON, разрешается старт/стоповое управление выводом. Получение СТОП-символа будет задерживать вывод, а СТАРТ-символ - возобновляет его. Все СТАРТ/СТОП-символы игнорируются и не читаются. Если установлен IXANY, любой введенный символ будет возобновлять приостановленный вывод.

c_oflag Поле c_oflag содержит флаги, управляющие обработкой вывода. Если установлен флаг OPOST, выводимые символы подвергаются постобработке в соответствии с остальными фла­гами, иначе они передаются без изменений.

Если установлен ONLCR, символ NL передается как пара CR-NL. TAB3 и XTABS задают заме­ну символов табуляции пробелами.

c_cflag Поле c_cflag управляет аппаратными атрибутами терминального интерфейса. Биты CBAUD задают скорость передачи. Биты CSIZE задают размер символа в битах как для прие­ма, так и для передачи.

Если CSTOPB установлен, передаются два стоповых бита. Флаги PARENB и PARODD управ­ляют контролем четности.



c_lflag Если установлен ICANON, разрешена каноническая обработка ввода. Допускаются функции редактирования (забой и стирание строки) и объединение вводимых символов в стро­ки, ограниченные символами NL, EOF, EOL, EOL2. Если ICANON не установлен, дан­ные для удовлетворения запросов чтения берутся прямо из "сырой" очереди. Неканоническая обработка будет обсуждаться далее.

Если установлен ECHO, на каждый полученный символ выдается эхо. Если установлен ре­жим ICANON, доступен ряд функций управления эхо. Если установлены флаги ECHO и ECHOE, а ECHOPRT не установлен, эхо для символа забоя выдается как ASCII BS SP BS (сдвиг каретки назад - пробел - сдвиг каретки назад), что очищает последний символ на экране тер­минала. Если ECHOK установлен, а ECHOKE нет, то после символа стирания строки передается NL, чтобы подчеркнуть, что строка была стерта.

Символ переключения режима (escape), идущий перед символами очистки или стирания стро­ки, лишает эти символы их функции. Если установлен флаг ISIG, вводимые символы проверя­ются на совпадение с символами INTR, QUIT, SUSP и DSUSP. Если вводимый символ со­ответствует одному из них, посылается соответствующий сигнал. Если ISIG не установлен, не выполняется никакой проверки.

Если установлен флаг IEXTEN, то над входными данными будут выполняться функции из расширенного набора, зависящие от реализации. Этот флаг должен быть установлен для рас­познавания символов WERASE, REPEINT, DISCARD и LNEXT.

 



<== предыдущая лекция | следующая лекция ==>
Управляющие символы | Запирание терминала - пример


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.653 сек.