码迷,mamicode.com
首页 > 系统相关 > 详细

linux内核头文件kdev_t.h 宏定义解析

时间:2014-07-29 14:26:08      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   使用   文件   for   2014   代码   

kdev_t.h 宏定义解析


这个header file反正不多,直接原因是——遇到了,就搞定它!


                 dev_t 类型的变量定义在linux/types.h 用来保存设备编号——包括主设备号和次设备号。dev_t 是一个32位的数,其中12位用来表示设备号,其余20位用来表示次设备号。


                 始终不要对这32位是高12位是主设备号还是低2位是主设备号做出假定,不利于代码的可移植性,始终记得使用宏定义来处理dev_t !


 

都在这里了:

#define MINORBITS       20 //次设备号的占位数目
#define MINORMASK       ((1U << MINORBITS) - 1)//低20位的掩码,相当于0xfffff

#define MAJOR(dev)      ((unsigned int) ((dev) >> MINORBITS)) //得到主设备号
#define MINOR(dev)      ((unsigned int) ((dev) & MINORMASK))  //得到次设备号
#define MKDEV(ma,mi)    (((ma) << MINORBITS) | (mi))           //将主,次设备号重新“合成”为一个数,返回

#define print_dev_t(buffer, dev)                                                sprintf((buffer), "%u:%u\n", MAJOR(dev), MINOR(dev))    //打印主次设备号

#define format_dev_t(buffer, dev)                                               ({                                                              \ //把主,次设备号写入到buffer指向的内存中
                sprintf(buffer, "%u:%u", MAJOR(dev), MINOR(dev));                       buffer;                                                         })










bubuko.com,布布扣

linux内核头文件kdev_t.h 宏定义解析,布布扣,bubuko.com

linux内核头文件kdev_t.h 宏定义解析

标签:style   blog   http   使用   文件   for   2014   代码   

原文地址:http://blog.csdn.net/cinmyheart/article/details/38237607

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!