【发布时间】:2013-01-31 13:34:42
【问题描述】:
内核模块中的
ioctl 代码通常定义为 .c 或 .h 文件中的宏,即:
#define DRV_CTL_RESET _IO(DRV_MAGIC, 0x01)
#define DRV_CTL_DSP_TO _IO(DRV_MAGIC, 0x02)
在用户空间程序中的用法是:
ioctl(drv_fd, DRV_CTL_DSP_TO, (unsigned long)tmo);
一切都很好,但是..
问题是:在内核和用户空间之间同步ioctl代码有哪些好的做法?
我目前的解决方案是从内核模块的源代码自动生成一个 API 头文件,并将其包含在用户空间程序中。但我希望,也许有更方便的方法。
【问题讨论】:
标签: c linux-kernel kernel ioctl