![](https://csdnimg.cn/release/download_crawler_static/12658178/bgb.jpg)
该 driver 的子类型, 以下几种子类型之一
include/linux/tty_driver.h
/* system subtypes (magic, used by tty_io.c) */
#define SYSTEM_TYPE_TTY0x0001
#define SYSTEM_TYPE_CONSOLE0x0002
#define SYSTEM_TYPE_SYSCONS0x0003
#define SYSTEM_TYPE_SYSPTMX0x0004
/* pty subtypes (magic, used by tty_io.c) */
#define PTY_TYPE_MASTER0x0001
#define PTY_TYPE_SLAVE0x0002
/* serial subtype definitions */
#define SERIAL_TYPE_NORMAL1
struct ktermios init_termios
如果用户空间要配置一个终端的波特率, 起始/停止位, 奇偶校验等参数时, 一般会准
备一个 termios 结构体, 然后把这个结构体设置到内核驱动里面.
init_termios 代表该 driver 的初始 termios
该 driver 的 flags, 可以用以下几种类型相或(|)
flags 决定了在向 tty 子系统进行注册时, 系统会采取何种动作, 例如是否创建/dev/节
点等等.
flags 的定义在 include/linux/tty_driver.h, 针对每一个 flag 的意思, 该文件中也有详细
的注释:
#define TTY_DRIVER_INSTALLED0x0001
#define TTY_DRIVER_RESET_TERMIOS0x0002
#define TTY_DRIVER_REAL_RAW0x0004
#define TTY_DRIVER_DYNAMIC_DEV0x0008
#define TTY_DRIVER_DEVPTS_MEM0x0010
#define TTY_DRIVER_HARDWARE_BREAK0x0020
#define TTY_DRIVER_DYNAMIC_ALLOC0x0040
#define TTY_DRIVER_UNNUMBERED_NODE0x0080