在内核中, dev_t 类型(在 <linux/types.h>中定义)用来持有设备编号 -- 主次部分都包括. 对于 2.6.0 内核, dev_t 是 32 位的量, 12 位用作主编号, 20 位用作次编号. 你的代码应当, 当然, 对于设备编号的内部组织从不做任何假设; 相反, 应当利用在<linux/kdev_t.h>中的一套宏定义. 为获得一个 dev_t 的主或者次编号, 使用:

MAJOR(dev_t dev);
MINOR(dev_t dev);

相反, 如果你有主次编号, 需要将其转换为一个 dev_t, 使用:

MKDEV(int major, int minor);

注意, 2.6 内核能容纳有大量设备, 而以前的内核版本限制在 255 个主编号和 255 个次编号. 有人认为这么宽的范围在很长时间内是足够的, 但是计算领域被这个特性的错误假设搞乱了. 因此你应当希望 dev_t 的格式将来可能再次改变; 但是, 如果你仔细编写你的驱动, 这些变化不会是一个问题.

dev_t的主次编号相关推荐

  1. 深入浅出:Linux设备驱动之字符设备驱动

    一.linux系统将设备分为3类:字符设备.块设备.网络设备.使用驱动程序: 字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据.字符设备是面向流 ...

  2. Linux字符驱动开发学习总结

    linux驱动编写(虚拟字符设备编写) 昨天我们说了一些简单模块编写方法,但是终归没有涉及到设备的编写内容,今天我们就可以了解一下相关方面的内容,并且用一个实例来说明在linux上面设备是如何编写的. ...

  3. 蜕变成蝶~Linux设备驱动之字符设备驱动

    一.linux系统将设备分为3类:字符设备.块设备.网络设备.使用驱动程序: 字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据.字符设备是面向流 ...

  4. Linux驱动概念扫盲篇

    驱动程序完全隐藏了设备工作的细节. 用户的活动通过一套标准化的调用来进行,这些调用与特别的驱动是独立的; 设备驱动的角色就是将这些调用映射到作用于实际硬件的和设备相关的操作上.  驱动应当做到使硬件可 ...

  5. UNIX环境高级编程(APUE)读书笔记

    未完待续 第一章 基础 1.1 引言 所有操作系统都为它们所运行的程序提供服务.典型服务包括:执行新程序.打开文件.写入/读取文件.分配存储区以及获得当前时间等. 1.2 UNIX体系结构 内核:从严 ...

  6. Linux设备驱动——第三章字符驱动

    当对幸福的憧憬过于急切,那痛苦就在人的心灵深处升起.--加缪 本章的目的是编写一个完整的字符设备驱动.我们开发一个字符驱动是因为这一类适合大部分简单的硬件设备.字符驱动也比块驱动易于理解.本章的最终目 ...

  7. Linux驱动概念扫盲篇【转】

    (转自:https://blog.csdn.net/czyv587/article/details/71194325) 驱动程序完全隐藏了设备工作的细节. 用户的活动通过一套标准化的调用来进行,这些调 ...

  8. Linux设备驱动编程第三版-笔记

    第1章 设备驱动简介 1.1 驱动程序的角色 机制:提供什么能力. 策略:如何使用这些能力. 1.2. 划分内核 内核的角色可以划分:     一:进程管理 二:内存管理 三:文件系统 四:设备控制 ...

  9. 主设备号与次设备号代码分析---MAJOR、MINOR

    <linux/kdev.h>内容如下: #ifndef _LINUX_KDEV_T_H #define _LINUX_KDEV_T_H #ifdef __KERNEL__ #define ...

最新文章

  1. 乘风破浪的马里奥!这个AI带你一口气通29关,你猜连AI都过不去的是哪3关?
  2. 2006上半年程序员级试题答案
  3. Spinnaker:云原生多云环境持续部署的未来这样玩!
  4. c语言 申请1k内存,怎么解决函数内申请内存,函数外释放的问题
  5. 在 GitHub 上收获 6519 颗 Star 的 Python 面试题资源,到底有多牛?
  6. Atitit 信息安全常见基础技术 目录 1. 加密 1 2. 签名(防篡改) 1 2.1. 第4章 标识与认证技术  1 2.2. 第5章 授权与访问控制技术  1 2.3. 第9章 安全审计与责
  7. devexpress,dotnetbar控件
  8. shell脚本大全-个人收藏
  9. 在edge中使用IE兼容性视图的设置方法|Win10 Win11
  10. 错误的robots文件设置对SEO的影响
  11. 那个人路过了青春一阵子,却会在记忆里搁浅一辈子
  12. coap python3_MQTT、CoAP
  13. JAVA基于JSP的疫情学生宿舍管理系统【数据库设计、论文、源码、开题报告】
  14. 中层管理者应该做什么?
  15. 什么是CISP-PTS?考什么?
  16. UMLChina建模竞赛题大全-题目全文+分卷自测(10套100题)
  17. 软件自学成才到公司要学历吗_来自7位自学成才的编码人员的经验教训,他们现在全职从事软件开发人员的工作...
  18. Oh My Zsh和Oh My Posh
  19. vue3中对对象增添属性也会加入到响应式
  20. H.266/VVC代码学习20:角度预测入口 / 特殊模式的PDPC技术(predIntraAng)

热门文章

  1. leetcode题解48-旋转图像
  2. JVM学习-StringTable字符串常量池
  3. CTS 2019 Pearl
  4. Linux--iptables常用命令
  5. Web自动化测试中的接口测试
  6. Android学习笔记17:单项选择RadioButton和多项选择CheckBox的使用
  7. USACO section1.3 Barn Repair 修理牛棚(贪心)
  8. IEnumerable接口
  9. php 如何根据经纬度计算距离,小程序实例:如何根据经纬度计算两点之间的距离(代码)...
  10. php mysql占位符代码,php – 使用命名占位符设置PDO / MySQL LIMIT