|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1988 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.6 (Berkeley) 6/28/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 "dk.h" ! 33: #if NVD > 0 ! 34: int vdopen(),vdclose(),vdstrategy(),vdioctl(); ! 35: int vddump(),vdsize(); ! 36: #else ! 37: #define vdopen nodev ! 38: #define vdclose nodev ! 39: #define vdstrategy nodev ! 40: #define vdioctl nodev ! 41: #define vddump nodev ! 42: #define vdsize 0 ! 43: #endif ! 44: ! 45: #include "hd.h" ! 46: #if NHD > 0 ! 47: int hdopen(),hdclose(),hdstrategy(),hdioctl(); ! 48: int hddump(),hdsize(); ! 49: #else ! 50: #define hdopen nodev ! 51: #define hdclose nodev ! 52: #define hdstrategy nodev ! 53: #define hdioctl nodev ! 54: #define hddump nodev ! 55: #define hdsize 0 ! 56: #endif ! 57: ! 58: #include "yc.h" ! 59: #if NCY > 0 ! 60: int cyopen(),cyclose(),cystrategy(),cydump(); ! 61: int cyioctl(),cyreset(); ! 62: #else ! 63: #define cyopen nodev ! 64: #define cyclose nodev ! 65: #define cystrategy nodev ! 66: #define cydump nodev ! 67: #define cyioctl nodev ! 68: #define cyreset nulldev ! 69: #endif ! 70: ! 71: struct bdevsw bdevsw[] = ! 72: { ! 73: { nodev, nulldev, nodev, nodev, /*0*/ ! 74: nodev, 0, 0 }, ! 75: { vdopen, vdclose, vdstrategy, vdioctl, /*1*/ ! 76: vddump, vdsize, 0 }, ! 77: { hdopen, hdclose, hdstrategy, hdioctl, /*2*/ ! 78: hddump, hdsize, 0 }, ! 79: { cyopen, cyclose, cystrategy, cyioctl, /*3*/ ! 80: cydump, 0, B_TAPE }, ! 81: { nodev, nodev, swstrategy, nodev, /*4*/ ! 82: nodev, 0, 0 }, ! 83: }; ! 84: int nblkdev = sizeof (bdevsw) / sizeof (bdevsw[0]); ! 85: ! 86: int cnopen(),cnclose(),cnread(),cnwrite(),cnioctl(); ! 87: extern struct tty cons; ! 88: ! 89: #include "vx.h" ! 90: #if NVX == 0 ! 91: #define vxopen nodev ! 92: #define vxclose nodev ! 93: #define vxread nodev ! 94: #define vxwrite nodev ! 95: #define vxioctl nodev ! 96: #define vxstop nodev ! 97: #define vxreset nulldev ! 98: #define vx_tty 0 ! 99: #else ! 100: int vxopen(),vxclose(),vxread(),vxwrite(),vxioctl(),vxstop(),vxreset(); ! 101: struct tty vx_tty[]; ! 102: #endif ! 103: ! 104: int syopen(),syread(),sywrite(),syioctl(),syselect(); ! 105: ! 106: int mmrw(); ! 107: #define mmselect seltrue ! 108: ! 109: #include "pty.h" ! 110: #if NPTY > 0 ! 111: int ptsopen(),ptsclose(),ptsread(),ptswrite(),ptsstop(); ! 112: int ptcopen(),ptcclose(),ptcread(),ptcwrite(),ptcselect(); ! 113: int ptyioctl(); ! 114: struct tty pt_tty[]; ! 115: #else ! 116: #define ptsopen nodev ! 117: #define ptsclose nodev ! 118: #define ptsread nodev ! 119: #define ptswrite nodev ! 120: #define ptcopen nodev ! 121: #define ptcclose nodev ! 122: #define ptcread nodev ! 123: #define ptcwrite nodev ! 124: #define ptyioctl nodev ! 125: #define pt_tty 0 ! 126: #define ptcselect nodev ! 127: #define ptsstop nulldev ! 128: #endif ! 129: ! 130: #include "mp.h" ! 131: #if NMP > 0 ! 132: int mpopen(), mpclose(), mpread(), mpwrite(), mpioctl(), mpstop(); ! 133: int mpdlopen(), mpdlclose(), mpdlwrite(), mpdlioctl(); ! 134: extern struct tty mp_tty[]; ! 135: #else ! 136: #define mpopen nodev ! 137: #define mpclose nodev ! 138: #define mpread nodev ! 139: #define mpwrite nodev ! 140: #define mpioctl nodev ! 141: #define mpstop nodev ! 142: #define mpdlopen nodev ! 143: #define mpdlclose nodev ! 144: #define mpdlwrite nodev ! 145: #define mpdlioctl nodev ! 146: #define mp_tty 0 ! 147: #endif ! 148: ! 149: #if NII > 0 ! 150: int iiioctl(), iiclose(), iiopen(); ! 151: #else ! 152: #define iiopen nodev ! 153: #define iiclose nodev ! 154: #define iiioctl nodev ! 155: #endif ! 156: ! 157: #include "enp.h" ! 158: #if NENP > 0 ! 159: int enpr_open(), enpr_close(), enpr_read(), enpr_write(), enpr_ioctl(); ! 160: #else ! 161: #define enpr_open nodev ! 162: #define enpr_close nodev ! 163: #define enpr_read nodev ! 164: #define enpr_write nodev ! 165: #define enpr_ioctl nodev ! 166: #endif ! 167: ! 168: #include "dr.h" ! 169: #if NDR > 0 ! 170: int dropen(),drclose(),drread(),drwrite(),drioctl(),drreset(); ! 171: #else ! 172: #define dropen nodev ! 173: #define drclose nodev ! 174: #define drread nodev ! 175: #define drwrite nodev ! 176: #define drioctl nodev ! 177: #define drreset nodev ! 178: #endif ! 179: ! 180: #include "ik.h" ! 181: #if NIK > 0 ! 182: int ikopen(),ikclose(),ikread(),ikwrite(),ikioctl(); ! 183: #else ! 184: #define ikopen nodev ! 185: #define ikclose nodev ! 186: #define ikread nodev ! 187: #define ikwrite nodev ! 188: #define ikioctl nodev ! 189: #endif ! 190: ! 191: int logopen(),logclose(),logread(),logioctl(),logselect(); ! 192: ! 193: int fdopen(); ! 194: ! 195: int ttselect(), seltrue(); ! 196: ! 197: struct cdevsw cdevsw[] = ! 198: { ! 199: cnopen, cnclose, cnread, cnwrite, /*0*/ ! 200: cnioctl, nulldev, nulldev, &cons, ! 201: ttselect, nodev, NULL, ! 202: vxopen, vxclose, vxread, vxwrite, /*1*/ ! 203: vxioctl, vxstop, vxreset, vx_tty, ! 204: ttselect, nodev, NULL, ! 205: syopen, nulldev, syread, sywrite, /*2*/ ! 206: syioctl, nulldev, nulldev, NULL, ! 207: syselect, nodev, NULL, ! 208: nulldev, nulldev, mmrw, mmrw, /*3*/ ! 209: nodev, nulldev, nulldev, NULL, ! 210: mmselect, nodev, NULL, ! 211: nodev, nulldev, nodev, nodev, /*4*/ ! 212: nodev, nodev, nulldev, NULL, ! 213: seltrue, nodev, NULL, ! 214: vdopen, vdclose, rawread, rawwrite, /*5*/ ! 215: vdioctl, nodev, nulldev, NULL, ! 216: seltrue, nodev, vdstrategy, ! 217: hdopen, hdclose, rawread, rawwrite, /*6*/ ! 218: hdioctl, nodev, nulldev, NULL, ! 219: seltrue, nodev, hdstrategy, ! 220: cyopen, cyclose, rawread, rawwrite, /*7*/ ! 221: cyioctl, nodev, cyreset, NULL, ! 222: seltrue, nodev, cystrategy, ! 223: nulldev, nulldev, rawread, rawwrite, /*8*/ ! 224: nodev, nodev, nulldev, NULL, ! 225: nodev, nodev, swstrategy, ! 226: ptsopen, ptsclose, ptsread, ptswrite, /*9*/ ! 227: ptyioctl, ptsstop, nodev, pt_tty, ! 228: ttselect, nodev, NULL, ! 229: ptcopen, ptcclose, ptcread, ptcwrite, /*10*/ ! 230: ptyioctl, nulldev, nodev, pt_tty, ! 231: ptcselect, nodev, NULL, ! 232: mpdlopen, mpdlclose, nodev, mpdlwrite, /*11*/ ! 233: mpdlioctl, nodev, nulldev, NULL, ! 234: seltrue, nodev, NULL, ! 235: mpopen, mpclose, mpread, mpwrite, /*12*/ ! 236: mpioctl, mpstop, nulldev, mp_tty, ! 237: ttselect, nodev, NULL, ! 238: nodev, nodev, nodev, nodev, /*13*/ ! 239: nodev, nodev, nulldev, NULL, ! 240: nodev, nodev, NULL, ! 241: iiopen, iiclose, nulldev, nulldev, /*14*/ ! 242: iiioctl, nulldev, nulldev, NULL, ! 243: seltrue, nodev, NULL, ! 244: logopen, logclose, logread, nodev, /*15*/ ! 245: logioctl, nodev, nulldev, NULL, ! 246: logselect, nodev, NULL, ! 247: enpr_open, enpr_close, enpr_read, enpr_write, /*16*/ ! 248: enpr_ioctl, nodev, nulldev, NULL, ! 249: nodev, nodev, NULL, ! 250: nodev, nodev, nodev, nodev, /*17*/ ! 251: nodev, nodev, nulldev, NULL, ! 252: nodev, nodev, NULL, ! 253: dropen, drclose, drread, drwrite, /*18*/ ! 254: drioctl, nodev, drreset, NULL, ! 255: nodev, nodev, NULL, ! 256: nodev, nodev, nodev, nodev, /*19*/ ! 257: nodev, nodev, nulldev, NULL, ! 258: nodev, nodev, NULL, ! 259: /* 20-30 are reserved for local use */ ! 260: ikopen, ikclose, ikread, ikwrite, /*20*/ ! 261: ikioctl, nodev, nulldev, NULL, ! 262: nodev, nodev, NULL, ! 263: fdopen, nodev, nodev, nodev, /*21*/ ! 264: nodev, nodev, nodev, NULL, ! 265: nodev, nodev, NULL, ! 266: }; ! 267: int nchrdev = sizeof (cdevsw) / sizeof (cdevsw[0]); ! 268: ! 269: int mem_no = 3; /* major device number of memory special file */ ! 270: ! 271: /* ! 272: * Swapdev is a fake device implemented ! 273: * in sw.c used only internally to get to swstrategy. ! 274: * It cannot be provided to the users, because the ! 275: * swstrategy routine munches the b_dev and b_blkno entries ! 276: * before calling the appropriate driver. This would horribly ! 277: * confuse, e.g. the hashing routines. Instead, /dev/drum is ! 278: * provided as a character (raw) device. ! 279: */ ! 280: dev_t swapdev = makedev(4, 0);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.