标签: linux-kernel driver
ioctl在结构struct tty_driver中做了什么?
ioctl
struct tty_driver
我知道ioctl()函数提供了控制硬件(键盘,鼠标,打印)的方法,但是例如控制键盘上LED的驱动程序我觉得ioctl绰绰有余任务......
ioctl()
那为什么我需要一个tty_driver?我知道tty_driver是一个结构
P.D我从未尝试过编程设备驱动程序。我只读了一些书中的一些代码。
答案 0 :(得分:0)
开发新驱动程序时,struct tty_driver结构用于注册tty_driver(使用tty_register_driver() 1)。此代码创建一个新的设备文件,并将文件操作设置为某些特定的函数。
tty_register_driver()
新创建的文件操作中的ioctl条目设置为tty_ioctl() 2,在处理完一些基本命令后,将调用.ioctl中设置的struct tty_operations函数struct tty_driver中引用了3。
tty_ioctl()
.ioctl
struct tty_operations
通过定义ioctl(请注意,在3中检查它是否为NULL),开发人员可以实现特定于其设备的ioctl命令,或者仅仅通知其他一些标准命令。
NULL