|
|
1.1 ! root 1: /*++ ! 2: ! 3: Copyright (c) 1991 Microsoft Corporation ! 4: ! 5: Module Name: ! 6: ! 7: sysmacro.h ! 8: ! 9: Abstract: ! 10: ! 11: This header file defines the device number macros for STREAMS drivers ! 12: and modules. It is derived from the SpiderSTREAMS source, sysmacros.h. ! 13: ! 14: Author: ! 15: ! 16: Eric Chin November 1, 1991 ! 17: ! 18: Revision History: ! 19: ! 20: --*/ ! 21: ! 22: /* @(#)sysmacros.h 1.3 (Spider) 91/07/01 */ ! 23: ! 24: #ifndef _SYSMACRO_ ! 25: #define _SYSMACRO_ ! 26: ! 27: ! 28: ! 29: /* ! 30: * Selectors and Constructor for Device Numbers ! 31: * ! 32: * On NT, dev_t is an unsigned long, not an unsigned short (ref: ! 33: * \nt\public\sdk\inc\sys\posix\sys\types.h). Hence, minor device ! 34: * numbers are defined to be 16 bits wide, giving 65536 possible ! 35: * minor device numbers. ! 36: * ! 37: */ ! 38: #define major(x) (int) ((unsigned) (x) >> 16) ! 39: #define minor(x) (int) ((x) & 0xffff) ! 40: #define makedev(x, y) (dev_t) (((x) << 16) | (y)) ! 41: ! 42: #define getmajor(x) major((x)) ! 43: #define getminor(x) minor((x)) ! 44: #define makedevice(x, y) makedev((x), (y)) ! 45: ! 46: #define CLONEDEV 0xffff ! 47: ! 48: ! 49: #ifndef min ! 50: #define min(a, b) ((a) > (b) ? (b) : (a)) ! 51: #endif ! 52: ! 53: #ifndef max ! 54: #define max(a, b) ((a) < (b) ? (b) : (a)) ! 55: #endif ! 56: ! 57: #endif // _SYSMACRO_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.