生成 ioctl 编号的 asm/ioctl.h 宏的强制性程度如何?

Posted

技术标签:

【中文标题】生成 ioctl 编号的 asm/ioctl.h 宏的强制性程度如何?【英文标题】:How mandatory are the asm/ioctl.h macros for generating ioctl numbers? 【发布时间】:2012-04-13 20:08:49 【问题描述】:

我环顾四周,我注意到有些驱动程序使用 _IO _IOR _IOW _IORW 宏声明其 ioctl 编号,有些则使用 #defines 手动声明它们。文档表明我必须使用这些宏,但现在我很困惑。

【问题讨论】:

【参考方案1】:

根据 Rubini 的书,宏的存在是为了不让不同的驱动程序拥有相同的编号,也不会导致人们在不同的节点上使用相同的编号做完全不同的事情。我的理解是建议将它们作为良好做法。

【讨论】:

以上是关于生成 ioctl 编号的 asm/ioctl.h 宏的强制性程度如何?的主要内容,如果未能解决你的问题,请参考以下文章

关于构造IOCTL命令的学习心得

底层文件操作:write,read,open,close,lseek,ioctl[奇牛学院]

IOCTL(CTL_CODE)

linux命令码(_IO宏)

为啥 ioctl 调用没有传递给 sys_ioctl?

如何转发/复用 ioctl 组?