在linux中,MINOR()函数是干什么的呢?返回值是什么?

在linux中,MINOR()函数是干什么的呢?返回值是什么?,第1张

dev_t dev/*设备号,dev_t实质是一个32位整,高12位为主设备号,低20位为次设备号*/

提取主设备号的方法:MAJOR(dev_t dev)

提取次设备号的方法:MINOR(dev_t dev)

生成dev_t的方法:MKDEV(int major,int minor)

我不知道你用的那个版本的kernel,但是据我所知,ioctl的cmd参数的定义,不是你那么简单的.... 需要用到ioctl的命令字定义的几个宏定义... 自己定义是没有用的,因为ioctl需要知道你的命令是io读还是io写.. 比如在我的程序里面我这样定义命令字... 你自己查一下_IOW,_IO这两个宏... #include <linux/ioctl.h>//使用下面的宏 #define DEVICE_NAME "/dev/test_device" #define TEST_MAGIC_NUM 'k' #define PORT_SET _IOW(TEST_MAGIC_NUM,1,int) #define PORT_GET _IO(TEST_MAGIC_NUM,2) #define PORT_LOCK _IO(TEST_MAGIC_NUM,3) 你的应用程序中,也应该把这样定义的命令字给包含进去...这两个个宏的意义是,不要和系统已经使用ioctl的cmd重复...因为ioctl接口并不是仅仅给你使用的.你自己写的命令字会把系统原有的给覆盖...~


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7191055.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-02
下一篇2023-04-02

发表评论

登录后才能评论

评论列表(0条)

    保存