Linux Device Drivers 3 / Драйверы устройств Линукс (третье издание): 18.6. The tty_driver Structure in Detail

Оглавление
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

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

hardorsoft 26.10.10 в 06:50

0

Эта структура используется для регистрации tty-драйвера в ядре tty-
устройств. Здесь приведен список различных полей структуры, как они
используются ядром tty-устройств.

hardorsoft 26.10.10 в 06:56

0

struct module *owner;

hardorsoft 26.10.10 в 06:50

0

Владелец модуля.

hardorsoft 26.10.10 в 06:56

0

int magic;

hardorsoft 26.10.10 в 06:56

0

«Магическое» число для этой структуры. Всегда равно
TTY_DRIVER_MAGIC. Инициализируется в функции alloc_tty_driver.

hardorsoft 26.10.10 в 06:57

0

const char *driver_name;

hardorsoft 26.10.10 в 06:51

0

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

hardorsoft 26.10.10 в 06:57

0

const char *name;

hardorsoft 26.10.10 в 06:51

0

Имя node драйвера.

hardorsoft 26.10.10 в 06:58

0

int name_base;

hardorsoft 26.10.10 в 06:51

0

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

hardorsoft 26.10.10 в 06:58

0

short major;

hardorsoft 26.10.10 в 06:51

0

старший номер устройства.

hardorsoft 26.10.10 в 06:58

0

short minor_start;

hardorsoft 26.10.10 в 06:51

0

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

hardorsoft 26.10.10 в 06:58

0

short num;

hardorsoft 26.10.10 в 06:51

0

Младший номер, назначенный устройству. Если если драйвер
использовал весь диапазон значений, то присваивается 255.
Значение инициализируется в функции alloc_tty_driver.

hardorsoft 26.10.10 в 06:58

0

short type;

hardorsoft 26.10.10 в 06:52

0

short subtype;

hardorsoft 26.10.10 в 06:52

0

описывает тип регистрируемого tty-драйвера. Значение в subtype
зависит от type. Поле type может принимать значения:
TTY_DRIVER_TYPE_SYSTEM

hardorsoft 26.10.10 в 06:59

0

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

hardorsoft 26.10.10 в 06:59

0

TTY_DRIVER_TYPE_CONSOLE

hardorsoft 26.10.10 в 06:52

0

только для драйвера консоли
TTY_DRIVER_TYPE_SERIAL

hardorsoft 26.10.10 в 06:59

0

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

hardorsoft 26.10.10 в 07:00

0

TTY_DRIVER_TYPE_PTY

hardorsoft 26.10.10 в 06:52

0

Используется для интерфейса псевдотерминала. Поле subtype
должно быть установлено в значение PTY_TYPE_MASTER или
PTY_TYPE_SLAVE.
struct termios init_termios;

hardorsoft 26.10.10 в 07:00

0

Начальное значение структуры
устройства.

hardorsoft 26.10.10 в 07:01

0

int flags;

hardorsoft 26.10.10 в 06:52

0

Ранее описанные флаги драйвера.

hardorsoft 26.10.10 в 07:01

0

struct proc_dir_entry *proc_entry;

hardorsoft 26.10.10 в 06:52

0

Структура драйвера для занесения в /proc. Создается ядром tty-
устройств, если драйвер реализует функцию write_proc или
read_proc. Драйвер не устанавливает это поле самостоятельно.

hardorsoft 26.10.10 в 07:01

0

struct tty_driver *other;

hardorsoft 26.10.10 в 06:53

0

Указатель на slave tty-драйвер. Используется только для драйверов
псевдотерминала (pty) и не может использоваться для других.

hardorsoft 26.10.10 в 07:01

0

void *driver_state;

hardorsoft 26.10.10 в 06:54

0

void *driver_state;

hardorsoft 26.10.10 в 06:54

0

Внутренее состояние
псевдотерминала (pty).

hardorsoft 26.10.10 в 07:01

0

struct tty_driver *next;
struct tty_driver *prev;

hardorsoft 26.10.10 в 07:02

0

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

hardorsoft 26.10.10 в 07:03

0
Минутку...