1 #ifndef _DMAP_H 2 #define _DMAP_H 3 4 #include <minix/sys_config.h> 5 #include <minix/ipc.h> 6 7 /*===========================================================================* 8 * Major and minor device numbers * 9 *===========================================================================*/ 10 11 /* Major device numbers. */ 12 13 /* Note that NO_DEV is major 0, minor 0, and means "no device". In contrast, 14 * NONE_MAJOR is used for file systems that do not have backing device (but are 15 * mounted on device 'none'). For administrative purposes, these file systems 16 * need to be assigned a pseudo device, and such pseudo devices are allocated 17 * with major number NONE_MAJOR. Because of NO_DEV, the NONE_MAJOR devices 18 * start from minor number 1. Otherwise, NONE_MAJOR is completely independent 19 * from NO_DEV, and it should be possible to set NONE_MAJOR to a nonzero value! 20 */ 21 #define NONE_MAJOR 0 /* 0 = pseudo device for 'none' FSes */ 22 #define MEMORY_MAJOR 1 /* 1 = /dev/mem (memory devices) */ 23 #define FLOPPY_MAJOR 2 /* 2 = /dev/fd0 (floppy disks) */ 24 /* 3 = /dev/c0 */ 25 #define TTY_MAJOR 4 /* 4 = /dev/tty00 (ttys) */ 26 #define CTTY_MAJOR 5 /* 5 = /dev/tty */ 27 #define PRINTER_MAJOR 6 /* 6 = /dev/lp (printer driver) */ 28 #define TCPIP_MAJOR 7 /* 7 = /dev/bpf (TCP/IP service) */ 29 /* 8 = /dev/c1 */ 30 #define PTY_MAJOR 9 /* 9 = /dev/ptyp0 (pty driver) */ 31 /* 10 = /dev/c2 */ 32 #define FILTER_MAJOR 11 /* 11 = /dev/filter (filter driver) */ 33 /* 12 = /dev/c3 */ 34 #define AUDIO_MAJOR 13 /* 13 = /dev/audio (audio driver) */ 35 #define FBD_MAJOR 14 /* 14 = /dev/fbd (faulty block dev)*/ 36 #define LOG_MAJOR 15 /* 15 = /dev/klog (log driver) */ 37 #define RANDOM_MAJOR 16 /* 16 = /dev/random (random driver) */ 38 #define HELLO_MAJOR 17 /* 17 = /dev/hello (hello driver) */ 39 /* 18 = (unused) */ 40 #define FB_MAJOR 19 /* 19 = /dev/fb0 (fb driver) */ 41 #define I2C0_MAJOR 20 /* 20 = /dev/i2c-1 (i2c-dev) */ 42 #define I2C1_MAJOR 21 /* 21 = /dev/i2c-2 (i2c-dev) */ 43 #define I2C2_MAJOR 22 /* 22 = /dev/i2c-3 (i2c-dev) */ 44 #define EEPROMB1S50_MAJOR 23 /* 23 = /dev/eepromb1s50 (cat24c256) */ 45 #define EEPROMB1S51_MAJOR 24 /* 24 = /dev/eepromb1s51 (cat24c256) */ 46 #define EEPROMB1S52_MAJOR 25 /* 25 = /dev/eepromb1s52 (cat24c256) */ 47 #define EEPROMB1S53_MAJOR 26 /* 26 = /dev/eepromb1s53 (cat24c256) */ 48 #define EEPROMB1S54_MAJOR 27 /* 27 = /dev/eepromb1s54 (cat24c256) */ 49 #define EEPROMB1S55_MAJOR 28 /* 28 = /dev/eepromb1s55 (cat24c256) */ 50 #define EEPROMB1S56_MAJOR 29 /* 29 = /dev/eepromb1s56 (cat24c256) */ 51 #define EEPROMB1S57_MAJOR 30 /* 30 = /dev/eepromb1s57 (cat24c256) */ 52 #define EEPROMB2S50_MAJOR 31 /* 31 = /dev/eepromb2s50 (cat24c256) */ 53 #define EEPROMB2S51_MAJOR 32 /* 32 = /dev/eepromb2s51 (cat24c256) */ 54 #define EEPROMB2S52_MAJOR 33 /* 33 = /dev/eepromb2s52 (cat24c256) */ 55 #define EEPROMB2S53_MAJOR 34 /* 34 = /dev/eepromb2s53 (cat24c256) */ 56 #define EEPROMB2S54_MAJOR 35 /* 35 = /dev/eepromb2s54 (cat24c256) */ 57 #define EEPROMB2S55_MAJOR 36 /* 36 = /dev/eepromb2s55 (cat24c256) */ 58 #define EEPROMB2S56_MAJOR 37 /* 37 = /dev/eepromb2s56 (cat24c256) */ 59 #define EEPROMB2S57_MAJOR 38 /* 38 = /dev/eepromb2s57 (cat24c256) */ 60 #define EEPROMB3S50_MAJOR 39 /* 39 = /dev/eepromb3s50 (cat24c256) */ 61 #define EEPROMB3S51_MAJOR 40 /* 40 = /dev/eepromb3s51 (cat24c256) */ 62 #define EEPROMB3S52_MAJOR 41 /* 41 = /dev/eepromb3s52 (cat24c256) */ 63 #define EEPROMB3S53_MAJOR 42 /* 42 = /dev/eepromb3s53 (cat24c256) */ 64 #define EEPROMB3S54_MAJOR 43 /* 43 = /dev/eepromb3s54 (cat24c256) */ 65 #define EEPROMB3S55_MAJOR 44 /* 44 = /dev/eepromb3s55 (cat24c256) */ 66 #define EEPROMB3S56_MAJOR 45 /* 45 = /dev/eepromb3s56 (cat24c256) */ 67 #define EEPROMB3S57_MAJOR 46 /* 46 = /dev/eepromb3s57 (cat24c256) */ 68 #define TSL2550B1S39_MAJOR 47 /* 47 = /dev/tsl2550b1s39 (tsl2550) */ 69 #define TSL2550B2S39_MAJOR 48 /* 48 = /dev/tsl2550b2s39 (tsl2550) */ 70 #define TSL2550B3S39_MAJOR 49 /* 49 = /dev/tsl2550b3s39 (tsl2550) */ 71 #define SHT21B1S40_MAJOR 50 /* 50 = /dev/sht21b1s40 (sht21) */ 72 #define SHT21B2S40_MAJOR 51 /* 51 = /dev/sht21b2s40 (sht21) */ 73 #define SHT21B3S40_MAJOR 52 /* 52 = /dev/sht21b3s40 (sht21) */ 74 #define BMP085B1S77_MAJOR 53 /* 53 = /dev/bmp085b1s77 (bmp085) */ 75 #define BMP085B2S77_MAJOR 54 /* 54 = /dev/bmp085b2s77 (bmp085) */ 76 #define BMP085B3S77_MAJOR 55 /* 55 = /dev/bmp085b3s77 (bmp085) */ 77 /* 56-63 = /dev/vnd[0-7] (vnd) */ 78 #define INPUT_MAJOR 64 /* 64 = /dev/input (input) */ 79 #define USB_BASE_MAJOR 65 /* 65-133 = USB major range */ 80 #define PCI_MAJOR 134 /* 134 = /dev/pci (pci) */ 81 82 #define NR_DEVICES 135 /* number of (major) devices */ 83 84 /* Minor device numbers for memory driver. */ 85 # define RAM_DEV_OLD 0 /* minor device for /dev/ram */ 86 # define MEM_DEV 1 /* minor device for /dev/mem */ 87 # define KMEM_DEV 2 /* minor device for /dev/kmem */ 88 # define NULL_DEV 3 /* minor device for /dev/null */ 89 # define BOOT_DEV 4 /* minor device for /dev/boot */ 90 # define ZERO_DEV 5 /* minor device for /dev/zero */ 91 # define IMGRD_DEV 6 /* minor device for /dev/imgrd */ 92 # define RAM_DEV_FIRST 7 /* first minor device for /dev/ram* */ 93 94 /* Minor device numbers for the TTY driver. */ 95 # define CONS_MINOR 0 /* console device */ 96 97 /* Minor device numbers for the PTY driver. */ 98 # define UNIX98_MINOR 256 /* Base number of UNIX98 PTYs, which 99 * are allocated in (master,slave) 100 * pairs: 256=master#0, 257=slave#0, 101 * 258=master#1, 259=slave#1, etc. 102 * This logic is shared between the 103 * PTY service and libc devname(3). 104 */ 105 106 #define CTRLR(n) ((n)==0 ? 3 : (8 + 2*((n)-1))) /* magic formula */ 107 108 /* Minor device numbers for log driver. */ 109 # define IS_KLOG_DEV 0 /* minor device for /dev/klog */ 110 111 /* Full device numbers that are special to the boot monitor and FS. */ 112 # define DEV_RAM ((dev_t) 0x0100) /* device number of /dev/ram */ 113 # define DEV_IMGRD ((dev_t) 0x0106) /* device number of /dev/imgrd */ 114 115 #endif /* _DMAP_H */ 116