1 /* 2 * Copyright (c) 1982, 1986, 1988 Regents of the University of California. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms are permitted 6 * provided that the above copyright notice and this paragraph are 7 * duplicated in all such forms and that any documentation, 8 * advertising materials, and other materials related to such 9 * distribution and use acknowledge that the software was developed 10 * by the University of California, Berkeley. The name of the 11 * University may not be used to endorse or promote products derived 12 * from this software without specific prior written permission. 13 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 14 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 15 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 16 * 17 * @(#)conf.c 7.6 (Berkeley) 06/29/88 18 */ 19 20 #include "param.h" 21 #include "inode.h" 22 #include "fs.h" 23 #include "saio.h" 24 25 extern int nullsys(), nodev(), noioctl(); 26 27 #if defined(VAX780) || defined(VAX750) || defined(VAX8600) 28 #define HP "hp" 29 int hpstrategy(), hpopen(); 30 #ifdef SMALL 31 #define hpioctl noioctl 32 #else 33 int hpioctl(); 34 #endif 35 #else 36 #define HP 0 37 #define hpstrategy nodev 38 #define hpopen nodev 39 #define hpioctl noioctl 40 #endif 41 42 int upstrategy(), upopen(); 43 #ifdef SMALL 44 #define upioctl noioctl 45 #else 46 int upioctl(); 47 #endif 48 49 int rkstrategy(), rkopen(); 50 int rastrategy(), raopen(); 51 52 #if defined(VAX730) 53 #define RB "rb" 54 int idcstrategy(), idcopen(); 55 #else 56 #define RB 0 57 #define idcstrategy nodev 58 #define idcopen nodev 59 #endif 60 61 int rlstrategy(), rlopen(); 62 63 #ifdef BOOT 64 #define TM 0 65 #define tmstrategy nodev 66 #define tmopen nodev 67 #define tmclose nodev 68 #define TS 0 69 #define tsstrategy nodev 70 #define tsopen nodev 71 #define tsclose nodev 72 #define HT 0 73 #define htstrategy nodev 74 #define htopen nodev 75 #define htclose nodev 76 #define MT 0 77 #define mtstrategy nodev 78 #define mtopen nodev 79 #define mtclose nodev 80 #define UT 0 81 #define utstrategy nodev 82 #define utopen nodev 83 #define utclose nodev 84 #define TMSCP 0 85 #define tmscpstrategy nodev 86 #define tmscpopen nodev 87 #define tmscpclose nodev 88 #else /* !BOOT */ 89 #define TM "tm" 90 int tmstrategy(), tmopen(), tmclose(); 91 #define TS "ts" 92 int tsstrategy(), tsopen(), tsclose(); 93 94 #if defined(VAX780) || defined(VAX750) || defined(VAX8600) 95 #define HT "ht" 96 int htstrategy(), htopen(), htclose(); 97 #define MT "mt" 98 int mtstrategy(), mtopen(), mtclose(); 99 #else /* massbus vax */ 100 #define HT 0 101 #define htstrategy nodev 102 #define htopen nodev 103 #define htclose nodev 104 #define MT 0 105 #define mtstrategy nodev 106 #define mtopen nodev 107 #define mtclose nodev 108 #endif /* massbus vax */ 109 110 #define UT "ut" 111 int utstrategy(), utopen(), utclose(); 112 #define TMSCP "tms" 113 int tmscpstrategy(), tmscpopen(), tmscpclose(); 114 #endif /* BOOT */ 115 116 #ifdef VAX8200 117 #define KRA "kra" 118 int krastrategy(), kraopen(); 119 #else 120 #define KRA 0 121 #define krastrategy nodev 122 #define kraopen nodev 123 #endif 124 125 struct devsw devsw[] = { 126 { HP, hpstrategy, hpopen, nullsys, hpioctl }, /* 0 = hp */ 127 { HT, htstrategy, htopen, htclose, noioctl }, /* 1 = ht */ 128 { "up", upstrategy, upopen, nullsys, upioctl }, /* 2 = up */ 129 { "hk", rkstrategy, rkopen, nullsys, noioctl }, /* 3 = hk */ 130 { 0, nodev, nodev, nullsys, noioctl }, /* 4 = sw */ 131 { TM, tmstrategy, tmopen, tmclose, noioctl }, /* 5 = tm */ 132 { TS, tsstrategy, tsopen, tsclose, noioctl }, /* 6 = ts */ 133 { MT, mtstrategy, mtopen, mtclose, noioctl }, /* 7 = mt */ 134 { 0, nodev, nodev, nullsys, noioctl }, /* 8 = tu */ 135 { "ra", rastrategy, raopen, nullsys, noioctl }, /* 9 = ra */ 136 { UT, utstrategy, utopen, utclose, noioctl }, /* 10 = ut */ 137 { RB, idcstrategy, idcopen,nullsys, noioctl }, /* 11 = rb */ 138 { 0, nodev, nodev, nullsys, noioctl }, /* 12 = uu */ 139 { 0, nodev, nodev, nullsys, noioctl }, /* 13 = rx */ 140 { "rl", rlstrategy, rlopen, nullsys, noioctl }, /* 14 = rl */ 141 { TMSCP,tmscpstrategy,tmscpopen,tmscpclose,noioctl}, /* 15 = tmscp */ 142 { KRA, krastrategy, kraopen,nullsys, noioctl}, /* 16 = kra */ 143 }; 144 145 int ndevs = (sizeof(devsw)/sizeof(devsw[0])); 146