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

Внимание! Этот перевод, возможно, ещё не готов, так как модераторы установили для него статус «перевод редактируется»

Структура 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;

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

int name_base;

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

short major;

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

short minor_start;

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

short num;

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

short type;

short subtype;

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

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

TTY_DRIVER_TYPE_CONSOLE

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

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

TTY_DRIVER_TYPE_PTY

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

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

int flags;

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

struct proc_dir_entry *proc_entry;

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

struct tty_driver *other;

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

void *driver_state;

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

struct tty_driver *next;
struct tty_driver *prev;

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

Внимание! Этот перевод, возможно, ещё не готов.
Его статус: перевод редактируется

Переведено на Нотабеноиде
http://notabenoid.org/book/11832/38404

Переводчики: hardorsoft

Настройки

Готово:

100.00% КП = 1.0