As we know,I can get an unique ioctl number in kernel space using the macros defined as following:
#define MYDRIVER_IOC_MAGIC 'g'//'g'是一个内核中,没有占用的一个ioclt code!
#define MYDRIVER_IOC_OP2 _IO(MYDRIVER_IOC_MAGIC,0)//这样就可以得到一个唯一的命令符!
but,how can I use the MYDRIVER_IOC_OP2 in user space as the commands pass to ioctl()?
#define MYDRIVER_IOC_MAGIC 'g'//'g'是一个内核中,没有占用的一个ioclt code!
#define MYDRIVER_IOC_OP2 _IO(MYDRIVER_IOC_MAGIC,0)//这样就可以得到一个唯一的命令符!
but,how can I use the MYDRIVER_IOC_OP2 in user space as the commands pass to ioctl()?
在内核中可以定义ioctl的命令(这里是MYDRIVER_IOC_OP2 )了, 但这个命令在用户空间的ioctl中怎么使用啊?(不知道内核中这个命令对应是多少数字啊?)
问题解决: 写一个XXX.h文件,其中包含 这些宏定义。当然就包括了在应用程序中使用的命令!
放在/usr/include中, 应用程序包含该头文件 加上#include<XXX.h>