Вход/Регистрация
Основы программирования в Linux
вернуться

Мэтью Нейл

Шрифт:

Эти режимы управляют аппаратными характеристиками терминала. Вы задаете режимы управления, устанавливая флаги элемента

c_cflag
структуры типа
termios
, включающие следующие макросы:

 

CLOCAL
— игнорирует управление линиями с помощью модема;

 

CREAD
— включает прием символов;

 

CS5
— использует пять битов в отправляемых и принимаемых символах;

 

CS6
— использует шесть битов в отправляемых и принимаемых символах;

 

CS7
— использует семь битов в отправляемых и принимаемых символах;

 

CS8
— использует восемь битов в отправляемых и принимаемых символах;

 

CSTOPB
— устанавливает два стоповых бита вместо одного;

 

HUPCL
— выключает управление линиями модема при закрытии;

 

PARENB
— включает генерацию и проверку четности;

 

PARODD
— применяет контроль нечетности вместо контроля четности.

Примечание

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

HUPCL
установлен, он устанавливает линии управления модема в состояние останова (hang-up).

Режимы управления применяются в основном при подключении к модему последовательной линии связи, хотя их можно использовать и при диалоге с терминалом. Обычно легче изменить настройку терминала, чем изменять стандартное поведение линий связи с помощью режимов управления структуры

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
;

  • Читать дальше
  • 1
  • ...
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: