Linux kernel “ioctl”在“struct tty_driver”中做什么?

Linux kernel “ioctl”在“struct tty_driver”中做什么?,linux-kernel,driver,Linux Kernel,Driver,ioctl在结构struct tty\u驱动程序中做什么 我知道ioctl()函数提供了控制硬件(键盘、鼠标、打印)的方法,但例如,控制键盘上LED的驱动程序,我认为ioctl足以完成此任务 那为什么我需要一个tty_司机?我知道tty_驱动程序是一个结构 我从来没有尝试过编写设备驱动程序。我在一些书中只读过一点代码。在开发新的驱动程序时,struct tty\u driver结构用于注册tty\u驱动程序(使用tty\u register\u driver())。此代码创建一个新的设备文件,并

ioctl
在结构
struct tty\u驱动程序中做什么

我知道
ioctl()
函数提供了控制硬件(键盘、鼠标、打印)的方法,但例如,控制键盘上LED的驱动程序,我认为ioctl足以完成此任务

那为什么我需要一个tty_司机?我知道tty_驱动程序是一个结构


我从来没有尝试过编写设备驱动程序。我在一些书中只读过一点代码。

在开发新的驱动程序时,
struct tty\u driver
结构用于注册tty\u驱动程序(使用
tty\u register\u driver()
)。此代码创建一个新的设备文件,并将文件操作设置为某些tty特定的函数

新创建的文件操作中的ioctl条目设置为
tty\u ioctl()
,在处理一些基本命令后,它将调用
结构tty\u驱动程序中引用的
结构tty\u操作中的
函数集

通过定义
ioctl
(注意,如果它在中不是
NULL
),开发人员可以实现特定于其设备的ioctl命令,或者只需收到一些其他标准命令的通知。

ioctl是特定于设备的,这就是为什么它应该位于定义特定设备的结构中。这就是你想知道的吗?