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_driver в деталях

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

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

Структура tty_driver используется, чтобы зарегистрировать tty драйвер в ядре tty. Вот список всех различных полей в структуре и каким образом они используются в ядре tty:

 

struct module *owner;

Владелец модуля этого драйвера.

 

int magic;

"Магическое" (системное) значение для этой структуры. Всегда должно быть установлено в TTY_DRIVER_MAGIC. Инициализируется в функции alloc_tty_driver.

 

const char *driver_name;

Имя драйвера, используемое в /proc/tty и sysfs.

 

const char *name;

Имя узла драйвера.

 

int name_base;

Начальный номер, используемый при создании имени для устройства. Это используется, когда ядро создаёт строковое представление данного tty устройства, связанного с этим tty драйвером.

 

short major;

Старший номер для драйвера.

 

short minor_start;

Начальный младший номер для драйвера. Он обычно установлен в то же значение, что name_base. Как правило, это значение равно 0.

 

short num;

Количество младших номеров, связанных с драйверов. Если драйвером используется весь диапазон старшего номера, это значение должно быть установлено в 255. Эта переменная инициализируется в функции alloc_tty_driver.

 

short type;

short subtype;

Описывает, какой тип tty драйвера в настоящее время зарегистрирован в ядре tty. Значение subtype зависит от type. Поле type может быть:

TTY_DRIVER_TYPE_SYSTEM

Используется внутри подсистемы tty, чтобы запомнить, что она имеет дело с внутренним tty драйвером. subtype должен быть установлен в SYSTEM_TYPE_TTY, SYSTEM_TYPE_CONSOLE, SYSTEM_TYPE_SYSCONS или SYSTEM_TYPE_SYSPTMX. Этот тип не должен быть использован любым "обычным" tty драйвером.

TTY_DRIVER_TYPE_CONSOLE

Используется только консольным драйвером.

TTY_DRIVER_TYPE_SERIAL

Используется любым драйвер последовательного типа. subtype должен быть установлен в SERIAL_TYPE_NORMAL или SERIAL_TYPE_CALLOUT, в зависимости от типа вашего драйвера. Это один из наиболее часто используемых параметров для поля type.

TTY_DRIVER_TYPE_PTY

Используется интерфейсом псевдо-терминала (pty). subtype должен быть установлен либо в PTY_TYPE_MASTER, либо в PTY_TYPE_SLAVE.

 

struct termios init_termios;

Первоначальные значения struct termios для данного устройства, когда оно создаётся.

 

int flags;

Флаги драйвера, как описывалось ранее в этой главе.

 

struct proc_dir_entry *proc_entry;

Структура записи драйвера в /proc. Она создаётся ядром tty, если драйвер реализует функции write_proc или read_proc. Это поле не должно устанавливаться самим tty драйвером.

 

struct tty_driver *other;

Указатель на ведомый tty драйвер. Оно используется только pty драйвером и не должна использоваться любым другим tty драйвером.

 

void *driver_state;

Внутреннее состояние tty драйвера. Должно быть использовано только pty драйвером.

 

struct tty_driver *next;

struct tty_driver *prev;

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

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