dev_t类型

dev_t :

主设备号12位 次设备号20位


相关内核代码:

[plain]  view plain   copy
  1. /*  
  2. MAJOR宏 提取主设备号  
  3. MINOR宏 提取次设备号  
  4. MKDEV宏 将指定主设备号和次设备号 转化为一个dev_t  
  5. */  
  6. #define MINORBITS   20  
  7. #define MINORMASK   ((1U << MINORBITS) - 1)  
  8. #define MAJOR(dev)  ((unsigned int) ((dev) >> MINORBITS))  
  9. #define MINOR(dev)  ((unsigned int) ((dev) & MINORMASK))  
  10. #define MKDEV(ma,mi)    (((ma) << MINORBITS) | (mi))  

主设备号分配:

[plain]  view plain   copy
  1. //静态分配  
  2.  int register_chrdev_region(dev_t from, unsigned count, const char *name)   
  3. //动态分配  
  4.  int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count,const char *name)  

设备号注销:

[plain]  view plain   copy
  1. void unregister_chrdev_region(dev_t from, unsigned count)











































你可能感兴趣的:(dev_t类型)