home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s053 / 8.ddi / usr / include / sys / mkdev.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-08  |  2.2 KB  |  113 lines

  1. /*    Copyright (c) 1990 UNIX System Laboratories, Inc.    */
  2. /*    Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T    */
  3. /*      All Rights Reserved      */
  4.  
  5. /*    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF         */
  6. /*    UNIX System Laboratories, Inc.                         */
  7. /*    The copyright notice above does not evidence any       */
  8. /*    actual or intended publication of such source code.    */
  9.  
  10. #ifndef _SYS_MKDEV_H
  11. #define _SYS_MKDEV_H
  12.  
  13. #ident    "@(#)/usr/include/sys/mkdev.h.sl 1.1 4.0 12/08/90 25953 AT&T-USL"
  14.  
  15. /* SVR3 device number constants */
  16.  
  17. #define ONBITSMAJOR    7    /* # of SVR3 major device bits */
  18. #define ONBITSMINOR    8    /* # of SVR3 minor device bits */
  19. #define OMAXMAJ        0x7f    /* SVR3 max major value */
  20. #define OMAXMIN        0xff    /* SVR3 max major value */
  21.  
  22.  
  23. #define NBITSMAJOR    14    /* # of SVR4 major device bits */
  24. #define NBITSMINOR    18    /* # of SVR4 minor device bits */
  25. #define MAXMAJ        0xff    /* Although 14 bits are reserved, 
  26.                 ** the 3b2 major number is restricted
  27.                 ** to 8 bits. 
  28.                 */
  29.  
  30. #define MAXMIN        0x3ffff    /* MAX minor for 3b2 software drivers.
  31.                 ** For 3b2 hardware devices the minor is
  32.                 ** restricted to 256 (0-255)
  33.                 */
  34.  
  35. #if !defined(_KERNEL)
  36.  
  37. /* undefine sysmacros.h device macros */
  38.  
  39. #undef makedev
  40. #undef major
  41. #undef minor
  42.  
  43. #if defined(__STDC__)
  44.  
  45. dev_t makedev(const major_t, const minor_t);
  46. major_t major(const dev_t);
  47. minor_t minor(const dev_t);
  48. dev_t __makedev(const int, const major_t, const minor_t);
  49. major_t __major(const int, const dev_t);
  50. minor_t __minor(const int, const dev_t);
  51.  
  52. #else
  53.  
  54. dev_t makedev();
  55. major_t major();
  56. minor_t minor();
  57. dev_t __makedev();
  58. major_t __major();
  59. minor_t __minor();
  60.  
  61. #endif    /* defined(_STDC_) */
  62.  
  63. #define OLDDEV 0    /* old device format */
  64. #define NEWDEV 1    /* new device format */
  65.  
  66.  
  67. static dev_t
  68. makedev(maj, min)
  69. major_t maj;
  70. minor_t min;
  71. {
  72. int ver;
  73. #if !defined(_STYPES)
  74.     ver = NEWDEV;
  75. #else
  76.     ver = OLDDEV;
  77. #endif
  78.  
  79.     return(__makedev(ver, maj, min));
  80. }
  81.  
  82. static major_t 
  83. major(dev)
  84. dev_t dev;
  85. {
  86. int ver;
  87. #if !defined(_STYPES)
  88.     ver = NEWDEV;
  89. #else
  90.     ver = OLDDEV;
  91. #endif
  92.  
  93.     return(__major(ver, dev));
  94. }
  95.  
  96. static minor_t 
  97. minor(dev)
  98. dev_t dev;
  99. {
  100. int ver;
  101. #if !defined(_STYPES)
  102.     ver = NEWDEV;
  103. #else
  104.     ver = OLDDEV;
  105. #endif
  106.  
  107.     return(__minor(ver, dev));
  108. }
  109.  
  110. #endif    /* !defined(_KERNEL) */
  111.  
  112. #endif    /* _SYS_MKDEV_H */
  113.