major.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:5k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. #ifndef _LINUX_MAJOR_H
  2. #define _LINUX_MAJOR_H
  3. /*
  4.  * This file has definitions for major device numbers.
  5.  * For the device number assignments, see Documentation/devices.txt.
  6.  */
  7. /* limits */
  8. /*
  9.  * Important: Don't change this to 256.  Major number 255 is and must be
  10.  * reserved for future expansion into a larger dev_t space.
  11.  */
  12. #define MAX_CHRDEV 255
  13. #define MAX_BLKDEV 255
  14. #define UNNAMED_MAJOR 0
  15. #define MEM_MAJOR 1
  16. #define RAMDISK_MAJOR 1
  17. #define FLOPPY_MAJOR 2
  18. #define PTY_MASTER_MAJOR 2
  19. #define IDE0_MAJOR 3
  20. #define PTY_SLAVE_MAJOR 3
  21. #define HD_MAJOR IDE0_MAJOR
  22. #define TTY_MAJOR 4
  23. #define TTYAUX_MAJOR 5
  24. #define LP_MAJOR 6
  25. #define VCS_MAJOR 7
  26. #define LOOP_MAJOR 7
  27. #define SCSI_DISK0_MAJOR 8
  28. #define SCSI_TAPE_MAJOR 9
  29. #define MD_MAJOR        9
  30. #define MISC_MAJOR 10
  31. #define SCSI_CDROM_MAJOR 11
  32. #define QIC02_TAPE_MAJOR 12
  33. #define XT_DISK_MAJOR 13
  34. #define SOUND_MAJOR 14
  35. #define CDU31A_CDROM_MAJOR 15
  36. #define JOYSTICK_MAJOR 15
  37. #define GOLDSTAR_CDROM_MAJOR 16
  38. #define OPTICS_CDROM_MAJOR 17
  39. #define SANYO_CDROM_MAJOR 18
  40. #define CYCLADES_MAJOR  19
  41. #define CYCLADESAUX_MAJOR 20
  42. #define MITSUMI_X_CDROM_MAJOR 20
  43. #define MFM_ACORN_MAJOR 21 /* ARM Linux /dev/mfm */
  44. #define SCSI_GENERIC_MAJOR 21
  45. #define Z8530_MAJOR 34
  46. #define DIGI_MAJOR 23
  47. #define IDE1_MAJOR 22
  48. #define DIGICU_MAJOR 22
  49. #define MITSUMI_CDROM_MAJOR 23
  50. #define CDU535_CDROM_MAJOR 24
  51. #define STL_SERIALMAJOR 24
  52. #define MATSUSHITA_CDROM_MAJOR 25
  53. #define STL_CALLOUTMAJOR 25
  54. #define MATSUSHITA_CDROM2_MAJOR 26
  55. #define QIC117_TAPE_MAJOR 27
  56. #define MATSUSHITA_CDROM3_MAJOR 27
  57. #define MATSUSHITA_CDROM4_MAJOR 28
  58. #define STL_SIOMEMMAJOR 28
  59. #define ACSI_MAJOR 28
  60. #define AZTECH_CDROM_MAJOR 29
  61. #define GRAPHDEV_MAJOR 29 /* SparcLinux & Linux/68k /dev/fb */
  62. #define SHMIQ_MAJOR 85 /* Linux/mips, SGI /dev/shmiq */
  63. #define CM206_CDROM_MAJOR 32
  64. #define IDE2_MAJOR 33
  65. #define IDE3_MAJOR 34
  66. #define XPRAM_MAJOR     35      /* expanded storage on S/390 = "slow ram" */
  67.                                 /* proposed by Peter                      */
  68. #define NETLINK_MAJOR 36
  69. #define PS2ESDI_MAJOR 36
  70. #define IDETAPE_MAJOR 37
  71. #define Z2RAM_MAJOR 37
  72. #define APBLOCK_MAJOR   38   /* AP1000 Block device */
  73. #define DDV_MAJOR       39   /* AP1000 DDV block device */
  74. #define NBD_MAJOR 43   /* Network block device */
  75. #define RISCOM8_NORMAL_MAJOR 48
  76. #define DAC960_MAJOR 48 /* 48..55 */
  77. #define RISCOM8_CALLOUT_MAJOR 49
  78. #define MKISS_MAJOR 55
  79. #define DSP56K_MAJOR    55   /* DSP56001 processor device */
  80. #define IDE4_MAJOR 56
  81. #define IDE5_MAJOR 57
  82. #define LVM_BLK_MAJOR 58 /* Logical Volume Manager */
  83. #define SCSI_DISK1_MAJOR 65
  84. #define SCSI_DISK2_MAJOR 66
  85. #define SCSI_DISK3_MAJOR 67
  86. #define SCSI_DISK4_MAJOR 68
  87. #define SCSI_DISK5_MAJOR 69
  88. #define SCSI_DISK6_MAJOR 70
  89. #define SCSI_DISK7_MAJOR 71
  90. #define COMPAQ_SMART2_MAJOR 72
  91. #define COMPAQ_SMART2_MAJOR1 73
  92. #define COMPAQ_SMART2_MAJOR2 74
  93. #define COMPAQ_SMART2_MAJOR3 75
  94. #define COMPAQ_SMART2_MAJOR4 76
  95. #define COMPAQ_SMART2_MAJOR5 77
  96. #define COMPAQ_SMART2_MAJOR6 78
  97. #define COMPAQ_SMART2_MAJOR7 79
  98. #define SPECIALIX_NORMAL_MAJOR 75
  99. #define SPECIALIX_CALLOUT_MAJOR 76
  100. #define COMPAQ_CISS_MAJOR  104
  101. #define COMPAQ_CISS_MAJOR1 105
  102. #define COMPAQ_CISS_MAJOR2      106
  103. #define COMPAQ_CISS_MAJOR3      107
  104. #define COMPAQ_CISS_MAJOR4      108
  105. #define COMPAQ_CISS_MAJOR5      109
  106. #define COMPAQ_CISS_MAJOR6      110
  107. #define COMPAQ_CISS_MAJOR7      111
  108. #define ATARAID_MAJOR 114
  109. #define DASD_MAJOR      94 /* Official assignations from Peter */
  110. #define MDISK_MAJOR     95 /* Official assignations from Peter */
  111. #define I2O_MAJOR 80 /* 80->87 */
  112. #define IDE6_MAJOR 88
  113. #define IDE7_MAJOR 89
  114. #define IDE8_MAJOR 90
  115. #define IDE9_MAJOR 91
  116. #define UBD_MAJOR 98
  117. #define AURORA_MAJOR 79
  118. #define JSFD_MAJOR 99
  119. #define PHONE_MAJOR 100
  120. #define LVM_CHAR_MAJOR 109 /* Logical Volume Manager */
  121. #define UMEM_MAJOR 116 /* http://www.umem.com/ Battery Backed RAM */
  122. #define RTF_MAJOR 150
  123. #define RAW_MAJOR 162
  124. #define USB_ACM_MAJOR 166
  125. #define USB_ACM_AUX_MAJOR 167
  126. #define USB_CHAR_MAJOR 180
  127. #define UNIX98_PTY_MASTER_MAJOR 128
  128. #define UNIX98_PTY_MAJOR_COUNT 8
  129. #define UNIX98_PTY_SLAVE_MAJOR (UNIX98_PTY_MASTER_MAJOR+UNIX98_PTY_MAJOR_COUNT)
  130. #define VXVM_MAJOR 199 /* VERITAS volume i/o driver    */
  131. #define VXSPEC_MAJOR 200 /* VERITAS volume config driver */
  132. #define VXDMP_MAJOR 201 /* VERITAS volume multipath driver */
  133. #define MSR_MAJOR 202
  134. #define CPUID_MAJOR 203
  135. #define OSST_MAJOR 206 /* OnStream-SCx0 SCSI tape */
  136. #define IBM_TTY3270_MAJOR       227 /* Official allocations now */
  137. #define IBM_FS3270_MAJOR        228
  138. /*
  139.  * Tests for SCSI devices.
  140.  */
  141. #define SCSI_DISK_MAJOR(M) ((M) == SCSI_DISK0_MAJOR || 
  142.   ((M) >= SCSI_DISK1_MAJOR && (M) <= SCSI_DISK7_MAJOR))
  143.   
  144. #define SCSI_BLK_MAJOR(M) 
  145.   (SCSI_DISK_MAJOR(M)
  146.    || (M) == SCSI_CDROM_MAJOR)
  147. static __inline__ int scsi_blk_major(int m) {
  148. return SCSI_BLK_MAJOR(m);
  149. }
  150. /*
  151.  * Tests for IDE devices
  152.  */
  153. #define IDE_DISK_MAJOR(M) ((M) == IDE0_MAJOR || (M) == IDE1_MAJOR || 
  154. (M) == IDE2_MAJOR || (M) == IDE3_MAJOR || 
  155. (M) == IDE4_MAJOR || (M) == IDE5_MAJOR || 
  156. (M) == IDE6_MAJOR || (M) == IDE7_MAJOR || 
  157. (M) == IDE8_MAJOR || (M) == IDE9_MAJOR)
  158. static __inline__ int ide_blk_major(int m)
  159. {
  160. return IDE_DISK_MAJOR(m);
  161. }
  162. #endif