我必须用IOCTL为温度传感器编写设备驱动程序代码,当我浏览大量的示例代码时,我发现在网上冲浪时,我在头文件中遇到了这个差异,我无法得到准确的答案,所以我在这里发布它,希望我能找到一个使用我的代码的线索。
发布于 2022-05-03 07:26:20
sys/ioctl.h是您在编写依赖于ioctl的程序时所使用的;它定义了这个ioctl函数,并最终包含了linux/ioctl.h,后者定义了宏(如_IOR )。
linux/ioctl.h不应该在用户代码中直接引用;但是,在编写Linux驱动程序时,应该使用它。
基本上,如果您看到#include <sys/ioctl.h>,您将看到的是程序代码;如果您看到#include <linux/ioctl.h>,您将看到内核(设备驱动程序)代码,或者是带有过于热情的#includes的程序代码。
(在这种情况下,linux/ioctl.h的用户视图和内核视图是相同的;ioctl.h是Linux内核中UAPI的一部分。)
https://unix.stackexchange.com/questions/701230
复制相似问题