linux内核驱动中_IO,_IOR,_IOW,_IOWR宏的用法与解析 linux i2c 驱动:Linux内核驱动中_IO,_IOR,_IOW,_IOWR宏解析与用法
1. _IO宏的用法与解析 _IO宏是Linux内核驱动中用于定义无参数的ioctl命令的宏。它的定义如下: ``` #define _IO(type,nr)_IOC(0,(type),(nr),0) ``` 其中,type表示命令的类型,nr表示命令的序号。_IOC是一个辅助宏,用于生成ioctl命令的编码。 使用_IO宏定义的ioctl命令一般用于向设备发送简单的控制命令,例如打开设备、关闭设备等。它不需要传递任何参数,因此在用户空间调用ioctl函数时,只需要传递设备文件描述符和命令编码