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