struct termios

Структура управления терминалом

Прототип:

struct termios {
tcflag_t c_iflag;
tcflag_t c_oflag;
tcflag_t c_cflag;
tcflag_t c_lflag;
cc_t c_cc[NCCS];
uint32_t reserved[3];
speed_t c_ispeed;
speed_t c_ospeed;
};

Описание:

Структура termios определена в <termios.h>.

c_iflag
Режимы ввода. Это поле содержит следующие биты:
BRKINT
Сигнал прерывания при условии BREAK.
ICRNL
Конвертировать CR в NL при вводе.
IGNBRK
Игнорировать режим BREAK при вводе.
IGNCR
Игнорировать CR.
IGNPAR
Игнорировать символы с ошибкой чётности.
INLCR
Конвертировать NL в CR при вводе.
INPCK
Включить проверку чётности.
ISTRIP
Удалять старший бит из символа.
IXOFF
Включить управление потоком данных XON/XOFF при вводе.
IXON
Включить управление потоком данных XON/XOFF при выводе.
PARMRK
Отмечать ошибки чётности в потоке ввода.
c_oflag
Режимы вывода. Это поле содержит следующие биты:
OPOST Выполнить обработку выходных данных.
c_cflag
Режимы управления. Это поле содержит следующие биты:
CLOCAL
Игнорировать управление линиями с помощью модема.
CREAD
Включить приём.
CSIZE
Количество бит на символ.
CS5
5 бит.
CS6
6 бит.
CS7
7 бит.
CS8
8 бит.
CSTOPB
Устанавливать два стоповых бита, иначе один.
HUPCL
Выключить управление модемом линиями после того, как последний процесс прекратил использование устройства (повесить трубку).
IHFLOW
Поддержать котроль потока ввода, используя аппаратное квитирование.
OHFLOW
Поддержать котроль потока вывода, используя аппаратное квитирование.
PARENB
Запустить генерацию четности при выводе и проверку четности на вводе.
PARODD
Установить нечетность на вводе и выводе, иначе - чётность.
PARSTK
Применить маску чётности PARODD при установке, иначе установить бит чётности в ноль.
c_lflag
Локальные режимы. Это поле содержит следующие биты:
ECHO
Отображать вводимые симыолы.
ECHOE
Отображать ERASE, как удаление предыдущего символа.
ECHOK
Отображать KILL, как удаление строки.
ECHONL
Отображать '\n', даже если ECHO выключен.
ICANON
Запустить канонический режим (включено редактирование строк).
IEXTEN
включить расширения ЗОСРВ «Нейтрино» к POSIX.
ISIG
Включить сигналы.
NOFLSH
Отключить очистку после прерывания, выхода или паузы.
TOSTOP
Отправить сигнал SIGTTOU процессной группе фонового процесса.
c_cc[NCCS]
Управляющие символы. Массив c_cc включает следующие управляющие символы:
c_cc[VEOF]
Символ EOF.
c_cc[VEOL]
Символ EOL.
c_cc[VERASE]
Символ ERASE.
c_cc[VFWD]
Символ FORWARD.
c_cc[VINTR]
Символ INTR.
c_cc[VKILL]
Символ KILL.
c_cc[VMIN]
Значение MIN.
c_cc[VQUIT]
Символ QUIT.
c_cc[VSUSP]
Символ SUSP.
c_cc[VTIME]
Значение TIME.
c_cc[VSTART]
Символ START.
c_cc[VSTOP]
Символ STOP.
Следующие управляющие символы также определены, но действуют только в том случае, если им непосредственно предшествуют ненулевые символы в c_cc[VPREFIX][4], а сразу за ними следуют ненулевые символы в c_cc[VSUFFIX][4] и установлен бит IEXTEN флага c_lflag:
c_cc[VLEFT]
Движение курсора влево.
c_cc[VRIGHT]
Движение курсора вправо.
c_cc[VUP]
Движение курсора вверх.
c_cc[VDOWN]
Движение курсора вниз.
c_cc[VINS]
Вставить символ.
c_cc[VDEL]
Удалить символ.
c_cc[VRUB]
Стереть символ.
c_cc[VCAN]
Отменить символ.
c_cc[VHOME]
Символ Home.
c_cc[VEND]
Символ End.
Любой из управляющих символов в массиве c_cc можно отключить, установив для этого символа значение параметра _PC_VDISABLE, который возвращается функцией fpathconf() (обычно ноль).
c_ispeed
Входная скорость в бодах. Этот элемент должен получаться и установливаться с помощью функций cfgetispeed() и cfsetispeed().
c_ospeed
Выходная скорость в бодах. Этот элемент должен получаться и установливаться с помощью функций cfgetispeed() и cfsetispeed().

Классификация:

POSIX 1003.1

Тематические ссылки:

cfgetispeed(), cfgetospeed(), cfsetispeed(), cfsetospeed(), cfmakeraw(), fpathconf(), forkpty(), openpty(), pathconf(), readcond(), tcgetattr(), tcsetattr()




Предыдущий раздел: Описание API системной библиотеки