The website "dmilvdv.narod.ru." is not registered with uCoz.
If you are absolutely sure your website must be here,
please contact our Support Team.
If you were searching for something on the Internet and ended up here, try again:

About uCoz web-service

Community

Legal information

Структура tty_struct в деталях

Структура tty_struct в деталях

Предыдущая  Содержание  Следующая V*D*V

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

 

unsigned long flags;

Текущее состояние tty устройства. Она является битовым полем и доступна через следующие макросы:

TTY_THROTTLED

Установлен, когда в драйвере вызвана функция throttle. Не должен устанавливаться tty драйвером, только ядром tty.

TTY_IO_ERROR

Устанавливается драйвером, когда он не хочет, чтобы никакие данных не читались или не записывались в драйвер. Если пользовательская программа пытается сделать это, она получает от ядра ошибку -IO. Он обычно устанавливается, когда устройство выключается.

TTY_OTHER_CLOSED

Используется только pty драйвером, чтобы сообщить, когда был закрыт порт.

TTY_EXCLUSIVE

Устанавливается ядром tty, чтобы указать, что порт находится в монопольном режиме и может быть доступен только одному пользователю одновременно.

TTY_DEBUG

В ядре нигде не используется.

TTY_DO_WRITE_WAKEUP

Если он установлен, разрешён вызов функции write_wakeup дисциплины линии. Она обычно вызывается в то же время, когда tty драйвером вызывается функция wake_up_interruptible.

TTY_PUSH

Используется только внутренне дисциплиной по умолчанию tty линии.

TTY_CLOSING

Используется ядром tty для отслеживания, находится ли порт в процессе закрытия в этот момент времени или нет.

TTY_DONT_FLIP

Используется дисциплиной по умолчанию tty линии для уведомления ядра tty, что оно не должно изменять переключаемый буфера при его установке.

TTY_HW_COOK_OUT

Если установлен tty драйвером, он уведомляет дисциплину линии, что будет "готовить" вывод для отправки в неё. Если он не установлен, то дисциплина линии копирует вывод драйвера по кусочкам; в противном случае, она должна оценить каждый посланный байт индивидуально для изменения линии. Этот флаг обычно не устанавливается tty драйвером.

TTY_HW_COOK_IN

Почти идентичен установке флага TTY_DRIVER_REAL_RAW в переменной драйвера flags. Этот флаг обычно, не устанавливается tty драйвером.

TTY_PTY_LOCK

Используется pty драйвером для блокировки и разблокировки порта.

TTY_NO_WRITE_SPLIT

Если установлен, ядро tty не разбивает запись в tty драйвер на куски обычных размеров. Это значение не должно быть использовано для предотвращения атак типа "отказ в обслуживании" на tty порты путём отправки в порт больших объёмов данных.

struct tty_flip_buffer flip;

Переключаемый буфер для tty устройства.

struct tty_ldisc ldisc;

Дисциплина линии для tty устройства.

wait_queue_head_t write_wait;

wait_queue для функции записи tty. Драйвер tty должен пробудить её, чтобы просигнализировать, когда он может получать больше данных.

struct termios *termios;

Указатель на текущие настройки termios для tty устройства.

unsigned char stopped:1;

Показывает, является ли tty устройство остановленным. Драйвер tty может установить это значение.

unsigned char hw_stopped:1;

Показывает, остановлено или нет оборудование tty устройства. Драйвер tty может установить это значение.

unsigned char low_latency:1;

Показывает, является ли это tty устройство устройством в небольшой задержкой, способным принимать данные с очень высокой скоростью. Драйвер tty может установить это значение.

unsigned char closing:1;

Показывает, находится ли tty устройство в середине закрытия порта. Драйвер tty может установить это значение.

struct tty_driver driver;

Текущая структура tty_driver, которая управляет этим tty устройством.

void *driver_data;

Указатель, который tty_driver может использовать для сохранения локальных данных для tty драйвера. Эта переменная не модифицируется ядром tty.

Предыдущая  Содержание  Следующая