linux内核头文件kdev_t.h 宏定义解析
来源:互联网 发布:mac safari打不开 编辑:程序博客网 时间:2024/06/11 10:15
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; \ })
0 0
- linux内核头文件kdev_t.h 宏定义解析
- linux内核头文件 cdev.h 解析
- linux内核list.h头文件分析
- linux/init.h 内核常用头文件
- linux内核常用头文件之-----linux/kobject.h
- linux 内核链表操作头文件list.h
- linux 内核链表操作头文件list.h C++
- 内核驱动常用头文件之--linux/module.h
- 内核常用头文件之---linux/init.h
- linux内核模块头文件之---kernel.h
- linux内核list.h头文件分析(一)
- linux内核list.h头文件分析(二)
- linux内核list.h头文件分析(三)
- linux内核list.h头文件分析(四)
- linux内核中的fcntl.h文件操作中的打开文件模式的宏定义
- stdafx.h头文件解析
- string.h头文件解析
- xxxx.h头文件解析
- HDU 2639 Bone Collector II
- HDU 4883 (BC#2 1001题)TIANKENG’s restaurant(水)
- IO流(装饰设计模式)
- ucenter通过ajax单点登录,由于页面跳转太快cookie执行一半就跳转导致生成失败
- x264 n-th pass编码时候Stats文件的含义
- linux内核头文件kdev_t.h 宏定义解析
- 异步通知读取文件操作符的小例子
- IO流(装饰和继承的区别)
- kmp hdu_1711
- MySQL 插入数据
- 随机产生20个[10 , 50]的正整数存到数组中,并求数组中的所有元素最大值、最小值、平均值以及各元素之和,及第二大值。
- IO流(LineNumberReader)
- POJ 1459 & ZOJ 1734 Power Network (网络最大流)
- POJ1698_Alice's Chance(二分图多重最大匹配/最大流)