`ioctl`在`struct tty_driver`中做了什么?

时间:2014-01-27 19:50:12

标签: linux-kernel driver

ioctl在结构struct tty_driver中做了什么?

我知道ioctl()函数提供了控制硬件(键盘,鼠标,打印)的方法,但是例如控制键盘上LED的驱动程序我觉得ioctl绰绰有余任务......

那为什么我需要一个tty_driver?我知道tty_driver是一个结构

P.D我从未尝试过编程设备驱动程序。我只读了一些书中的一些代码。

1 个答案:

答案 0 :(得分:0)

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

新创建的文件操作中的ioctl条目设置为tty_ioctl() 2,在处理完一些基本命令后,将调用.ioctl中设置的struct tty_operations函数struct tty_driver中引用了3

通过定义ioctl(请注意,在3中检查它是否为NULL),开发人员可以实现特定于其设备的ioctl命令,或者仅仅通知其他一些标准命令。