Linux kernel 用于生成ioctl编号的asm/ioctl.h宏的强制程度如何?

Linux kernel 用于生成ioctl编号的asm/ioctl.h宏的强制程度如何?,linux-kernel,kernel,ioctl,Linux Kernel,Kernel,Ioctl,我环顾四周,注意到有些驱动程序使用\u IO\u IOR\u IORW宏声明其ioctl编号,有些驱动程序使用\define宏手动声明其ioctl编号。文档表明我必须使用这些宏,但现在我感到困惑。根据Rubini的书,宏的存在是为了不让不同的驱动程序拥有相同的数字,也不让人们在不同的节点上使用相同的数字做完全不同的事情。据我所知,它们被推荐为良好实践

我环顾四周,注意到有些驱动程序使用
\u IO\u IOR\u IORW
宏声明其ioctl编号,有些驱动程序使用
\define
宏手动声明其ioctl编号。文档表明我必须使用这些宏,但现在我感到困惑。

根据Rubini的书,宏的存在是为了不让不同的驱动程序拥有相同的数字,也不让人们在不同的节点上使用相同的数字做完全不同的事情。据我所知,它们被推荐为良好实践