|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1982, 1990 Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * Redistribution is only permitted until one year after the first shipment ! 6: * of 4.4BSD by the Regents. Otherwise, redistribution and use in source and ! 7: * binary forms are permitted provided that: (1) source distributions retain ! 8: * this entire copyright notice and comment, and (2) distributions including ! 9: * binaries display the following acknowledgement: This product includes ! 10: * software developed by the University of California, Berkeley and its ! 11: * contributors'' in the documentation or other materials provided with the ! 12: * distribution and in all advertising materials mentioning features or use ! 13: * of this software. Neither the name of the University nor the names of ! 14: * its contributors may be used to endorse or promote products derived from ! 15: * this software without specific prior written permission. ! 16: * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED ! 17: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF ! 18: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 19: * ! 20: * @(#)conf.c 7.1 (Berkeley) 5/8/90 ! 21: */ ! 22: ! 23: #include "param.h" ! 24: #include "systm.h" ! 25: #include "buf.h" ! 26: #include "ioctl.h" ! 27: #include "tty.h" ! 28: #include "conf.h" ! 29: ! 30: int nulldev(), nodev(), rawread(), rawwrite(), swstrategy(); ! 31: ! 32: #include "ct.h" ! 33: #if NCT > 0 ! 34: int ctopen(),ctclose(),ctstrategy(),ctread(),ctwrite(),ctdump(),ctioctl(); ! 35: #else ! 36: #define ctopen nodev ! 37: #define ctclose nodev ! 38: #define ctstrategy nodev ! 39: #define ctread nodev ! 40: #define ctwrite nodev ! 41: #define ctdump nodev ! 42: #define ctioctl nodev ! 43: #endif ! 44: ! 45: #include "rd.h" ! 46: #if NRD > 0 ! 47: int rdopen(),rdstrategy(),rdread(),rdwrite(),rddump(),rdioctl(),rdsize(); ! 48: #else ! 49: #define rdopen nodev ! 50: #define rdstrategy nodev ! 51: #define rdread nodev ! 52: #define rdwrite nodev ! 53: #define rddump nodev ! 54: #define rdioctl nodev ! 55: #define rdsize 0 ! 56: #endif ! 57: ! 58: #include "sd.h" ! 59: #if NSD > 0 ! 60: int sdopen(),sdstrategy(),sdread(),sdwrite(),sddump(),sdioctl(),sdsize(); ! 61: #else ! 62: #define sdopen nodev ! 63: #define sdstrategy nodev ! 64: #define sdread nodev ! 65: #define sdwrite nodev ! 66: #define sddump nodev ! 67: #define sdioctl nodev ! 68: #define sdsize 0 ! 69: #endif ! 70: ! 71: #include "cd.h" ! 72: #if NCD > 0 ! 73: int cdopen(),cdstrategy(),cdread(),cdwrite(),cddump(),cdioctl(),cdsize(); ! 74: #else ! 75: #define cdopen nodev ! 76: #define cdstrategy nodev ! 77: #define cdread nodev ! 78: #define cdwrite nodev ! 79: #define cddump nodev ! 80: #define cdioctl nodev ! 81: #define cdsize 0 ! 82: #endif ! 83: ! 84: #include "fd.h" ! 85: #if NFD > 0 ! 86: int fdopen(),fdstrategy(),fdread(),fdwrite(),fddump(),fdioctl(),fdsize(); ! 87: #else ! 88: #define fdopen nodev ! 89: #define fdstrategy nodev ! 90: #define fdread nodev ! 91: #define fdwrite nodev ! 92: #define fddump nodev ! 93: #define fdioctl nodev ! 94: #define fdsize 0 ! 95: #endif ! 96: ! 97: struct bdevsw bdevsw[] = ! 98: { ! 99: { ctopen, ctclose, ctstrategy, ctioctl, /*0*/ ! 100: ctdump, 0, B_TAPE }, ! 101: { nodev, nodev, nodev, nodev, /*1*/ ! 102: nodev, 0, 0 }, ! 103: { rdopen, nulldev, rdstrategy, rdioctl, /*2*/ ! 104: rddump, rdsize, 0 }, ! 105: { nodev, nodev, swstrategy, nodev, /*3*/ ! 106: nodev, 0, 0 }, ! 107: { sdopen, nulldev, sdstrategy, sdioctl, /*4*/ ! 108: sddump, sdsize, 0 }, ! 109: { cdopen, nulldev, cdstrategy, cdioctl, /*5*/ ! 110: cddump, cdsize, 0 }, ! 111: { fdopen, nulldev, fdstrategy, fdioctl, /*6*/ ! 112: fddump, fdsize, 0 }, ! 113: }; ! 114: int nblkdev = sizeof (bdevsw) / sizeof (bdevsw[0]); ! 115: ! 116: int cnopen(),cnclose(),cnread(),cnwrite(),cnioctl(),cnselect(); ! 117: ! 118: int syopen(),syread(),sywrite(),syioctl(),syselect(); ! 119: ! 120: int mmrw(); ! 121: #define mmselect seltrue ! 122: ! 123: #include "pty.h" ! 124: #if NPTY > 0 ! 125: int ptsopen(),ptsclose(),ptsread(),ptswrite(),ptsstop(); ! 126: int ptcopen(),ptcclose(),ptcread(),ptcwrite(),ptcselect(); ! 127: int ptyioctl(); ! 128: struct tty pt_tty[]; ! 129: #else ! 130: #define ptsopen nodev ! 131: #define ptsclose nodev ! 132: #define ptsread nodev ! 133: #define ptswrite nodev ! 134: #define ptcopen nodev ! 135: #define ptcclose nodev ! 136: #define ptcread nodev ! 137: #define ptcwrite nodev ! 138: #define ptyioctl nodev ! 139: #define pt_tty 0 ! 140: #define ptcselect nodev ! 141: #define ptsstop nulldev ! 142: #endif ! 143: ! 144: #include "ppi.h" ! 145: #if NPPI > 0 ! 146: int ppiopen(),ppiclose(),ppiread(),ppiwrite(); ! 147: #else ! 148: #define ppiopen nodev ! 149: #define ppiclose nodev ! 150: #define ppiread nodev ! 151: #define ppiwrite nodev ! 152: #endif ! 153: ! 154: #include "ite.h" ! 155: #if NITE > 0 ! 156: int iteopen(),iteclose(),iteread(),itewrite(),iteioctl(); ! 157: struct tty ite_tty[]; ! 158: #else ! 159: #define iteopen nodev ! 160: #define iteclose nodev ! 161: #define iteread nodev ! 162: #define itewrite nodev ! 163: #define itestop nulldev ! 164: #define iteioctl nodev ! 165: #define ite_tty 0 ! 166: #endif ! 167: ! 168: #include "dca.h" ! 169: #if NDCA > 0 ! 170: int dcaopen(),dcaclose(),dcaread(),dcawrite(),dcastop(),dcaioctl(); ! 171: struct tty dca_tty[]; ! 172: #else ! 173: #define dcaopen nodev ! 174: #define dcaclose nodev ! 175: #define dcaread nodev ! 176: #define dcawrite nodev ! 177: #define dcastop nulldev ! 178: #define dcaioctl nodev ! 179: #define dca_tty 0 ! 180: #endif ! 181: ! 182: #include "dcm.h" ! 183: #if NDCM > 0 ! 184: int dcmopen(),dcmclose(),dcmread(),dcmwrite(),dcmstop(),dcmioctl(); ! 185: struct tty dcm_tty[]; ! 186: #else ! 187: #define dcmopen nodev ! 188: #define dcmclose nodev ! 189: #define dcmread nodev ! 190: #define dcmwrite nodev ! 191: #define dcmstop nulldev ! 192: #define dcmioctl nodev ! 193: #define dcm_tty 0 ! 194: #endif ! 195: ! 196: #include "clock.h" ! 197: #if NCLOCK > 0 ! 198: int clockopen(),clockclose(),clockioctl(),clockmap(); ! 199: #else ! 200: #define clockopen nodev ! 201: #define clockclose nodev ! 202: #define clockioctl nodev ! 203: #define clockmap nodev ! 204: #endif ! 205: ! 206: int logopen(),logclose(),logread(),logioctl(),logselect(); ! 207: ! 208: int ttselect(), seltrue(); ! 209: ! 210: int grfopen(),grfclose(),grfioctl(),grfselect(),grfmap(); ! 211: ! 212: int hilopen(),hilclose(),hilioctl(),hilmap(),hilselect(),hilread(); ! 213: ! 214: struct cdevsw cdevsw[] = ! 215: { ! 216: cnopen, cnclose, cnread, cnwrite, /*0*/ ! 217: cnioctl, nulldev, nulldev, NULL, ! 218: cnselect, nodev, NULL, ! 219: syopen, nulldev, syread, sywrite, /*1*/ ! 220: syioctl, nulldev, nulldev, NULL, ! 221: syselect, nodev, NULL, ! 222: nulldev, nulldev, mmrw, mmrw, /*2*/ ! 223: nodev, nulldev, nulldev, NULL, ! 224: mmselect, nodev, NULL, ! 225: nulldev, nulldev, rawread, rawwrite, /*3*/ ! 226: nodev, nodev, nulldev, NULL, ! 227: nodev, nodev, swstrategy, ! 228: ptsopen, ptsclose, ptsread, ptswrite, /*4*/ ! 229: ptyioctl, ptsstop, nulldev, pt_tty, ! 230: ttselect, nodev, NULL, ! 231: ptcopen, ptcclose, ptcread, ptcwrite, /*5*/ ! 232: ptyioctl, nulldev, nulldev, pt_tty, ! 233: ptcselect, nodev, NULL, ! 234: logopen, logclose, logread, nodev, /*6*/ ! 235: logioctl, nodev, nulldev, NULL, ! 236: logselect, nodev, NULL, ! 237: ctopen, ctclose, ctread, ctwrite, /*7*/ ! 238: ctioctl, nodev, nulldev, NULL, ! 239: seltrue, nodev, ctstrategy, ! 240: sdopen, nulldev, sdread, sdwrite, /*8*/ ! 241: sdioctl, nodev, nulldev, NULL, ! 242: seltrue, nodev, sdstrategy, ! 243: rdopen, nulldev, rdread, rdwrite, /*9*/ ! 244: rdioctl, nodev, nulldev, NULL, ! 245: seltrue, nodev, rdstrategy, ! 246: grfopen, grfclose, nulldev, nulldev, /*10*/ ! 247: grfioctl, nodev, nulldev, NULL, ! 248: grfselect, grfmap, NULL, ! 249: ppiopen, ppiclose, ppiread, ppiwrite, /*11*/ ! 250: nodev, nodev, nulldev, NULL, ! 251: nodev, nodev, NULL, ! 252: dcaopen, dcaclose, dcaread, dcawrite, /*12*/ ! 253: dcaioctl, dcastop, nulldev, dca_tty, ! 254: ttselect, nodev, NULL, ! 255: iteopen, iteclose, iteread, itewrite, /*13*/ ! 256: iteioctl, nodev, nulldev, ite_tty, ! 257: ttselect, nodev, NULL, ! 258: hilopen, hilclose, hilread, nulldev, /*14*/ ! 259: hilioctl, nodev, nulldev, NULL, ! 260: hilselect, hilmap, NULL, ! 261: dcmopen, dcmclose, dcmread, dcmwrite, /*15*/ ! 262: dcmioctl, dcmstop, nulldev, dcm_tty, ! 263: ttselect, nodev, NULL, ! 264: nodev, nodev, nodev, nodev, /*16*/ ! 265: nodev, nodev, nulldev, NULL, ! 266: seltrue, nodev, NULL, ! 267: cdopen, nulldev, cdread, cdwrite, /*17*/ ! 268: cdioctl, nodev, nulldev, NULL, ! 269: seltrue, nodev, cdstrategy, ! 270: clockopen, clockclose, nulldev, nulldev, /*18*/ ! 271: clockioctl, nodev, nulldev, NULL, ! 272: nulldev, clockmap, NULL, ! 273: fdopen, nulldev, fdread, fdwrite, /*19*/ ! 274: fdioctl, nodev, nulldev, NULL, ! 275: seltrue, nodev, NULL, ! 276: }; ! 277: int nchrdev = sizeof (cdevsw) / sizeof (cdevsw[0]); ! 278: ! 279: int mem_no = 2; /* major device number of memory special file */ ! 280: ! 281: /* ! 282: * Swapdev is a fake device implemented ! 283: * in sw.c used only internally to get to swstrategy. ! 284: * It cannot be provided to the users, because the ! 285: * swstrategy routine munches the b_dev and b_blkno entries ! 286: * before calling the appropriate driver. This would horribly ! 287: * confuse, e.g. the hashing routines. Instead, /dev/drum is ! 288: * provided as a character (raw) device. ! 289: */ ! 290: dev_t swapdev = makedev(3, 0);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.