Готовый перевод 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
Настройки
Готово:
