linux如何通过ioctl调用驱动的

ioctl作用:应用层的ioctl函数传入的cmd和arg参数会直接传入驱动层的ioctl接口,在对应驱动文件里会对相应的命令进行操作

对于传递的ioctl命令有一定的规范,具体可以参考:/include/asm/ioctl.h,/Documentation/ioctl-number.txt 这两个文件

 

应用层和驱动程序联系如下:

最终ioctl是通过系统调用sys_ioctl软中断陷入到内核,通过系统中断号最终调用到内核态的ioctl函数。
linux如何通过ioctl调用驱动的

构造ioctl命令linux已经给我们提供了宏命令:

linux如何通过ioctl调用驱动的

举一个简单的例子:

linux如何通过ioctl调用驱动的

linux如何通过ioctl调用驱动的