|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1982, 1986 Regents of the University of California. ! 3: * All rights reserved. The Berkeley software License Agreement ! 4: * specifies the terms and conditions for redistribution. ! 5: * ! 6: * @(#)conf.c 7.1 (Berkeley) 6/5/86 ! 7: */ ! 8: ! 9: #include "../machine/pte.h" ! 10: ! 11: #include "../h/param.h" ! 12: #include "../h/inode.h" ! 13: #include "../h/fs.h" ! 14: ! 15: #include "../vaxmba/mbareg.h" ! 16: ! 17: #include "saio.h" ! 18: ! 19: devread(io) ! 20: register struct iob *io; ! 21: { ! 22: int cc; ! 23: ! 24: io->i_flgs |= F_RDDATA; ! 25: io->i_error = 0; ! 26: cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, READ); ! 27: io->i_flgs &= ~F_TYPEMASK; ! 28: return (cc); ! 29: } ! 30: ! 31: devwrite(io) ! 32: register struct iob *io; ! 33: { ! 34: int cc; ! 35: ! 36: io->i_flgs |= F_WRDATA; ! 37: io->i_error = 0; ! 38: cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, WRITE); ! 39: io->i_flgs &= ~F_TYPEMASK; ! 40: return (cc); ! 41: } ! 42: ! 43: devopen(io) ! 44: register struct iob *io; ! 45: { ! 46: ! 47: (*devsw[io->i_ino.i_dev].dv_open)(io); ! 48: } ! 49: ! 50: devclose(io) ! 51: register struct iob *io; ! 52: { ! 53: ! 54: (*devsw[io->i_ino.i_dev].dv_close)(io); ! 55: } ! 56: ! 57: devioctl(io, cmd, arg) ! 58: register struct iob *io; ! 59: int cmd; ! 60: caddr_t arg; ! 61: { ! 62: ! 63: return ((*devsw[io->i_ino.i_dev].dv_ioctl)(io, cmd, arg)); ! 64: } ! 65: ! 66: /*ARGSUSED*/ ! 67: nullsys(io) ! 68: struct iob *io; ! 69: { ! 70: ! 71: ; ! 72: } ! 73: ! 74: /*ARGSUSED*/ ! 75: nullioctl(io, cmd, arg) ! 76: struct iob *io; ! 77: int cmd; ! 78: caddr_t arg; ! 79: { ! 80: ! 81: return (ECMD); ! 82: } ! 83: ! 84: int nullsys(), nullioctl(); ! 85: #if defined(VAX780) || defined(VAX750) || defined(VAX8600) ! 86: int hpstrategy(), hpopen(), hpioctl(); ! 87: #endif ! 88: #if defined(VAX780) || defined(VAX750) || defined(VAX8600) ! 89: int upstrategy(), upopen(), upioctl(); ! 90: #endif ! 91: int rkstrategy(), rkopen(), rkioctl(); ! 92: int rastrategy(), raopen(), raioctl(); ! 93: #if defined(VAX730) ! 94: int idcstrategy(), idcopen(), idcioctl(); ! 95: #endif ! 96: int rlstrategy(), rlopen(), rlioctl(); ! 97: #ifndef BOOT ! 98: int tmstrategy(), tmopen(), tmclose(); ! 99: int tsstrategy(), tsopen(), tsclose(); ! 100: #if defined(VAX780) || defined(VAX750) || defined(VAX8600) ! 101: int htstrategy(), htopen(), htclose(); ! 102: int mtstrategy(), mtopen(), mtclose(); ! 103: #endif ! 104: int utstrategy(), utopen(), utclose(); ! 105: #endif ! 106: ! 107: struct devsw devsw[] = { ! 108: #if defined(VAX780) || defined(VAX750) || defined(VAX8600) ! 109: { "hp", hpstrategy, hpopen, nullsys, hpioctl }, ! 110: #endif ! 111: #if defined(VAX780) || defined(VAX750) || defined(VAX8600) ! 112: { "up", upstrategy, upopen, nullsys, upioctl }, ! 113: #endif ! 114: { "hk", rkstrategy, rkopen, nullsys, rkioctl }, ! 115: { "ra", rastrategy, raopen, nullsys, raioctl }, ! 116: #if defined(VAX730) ! 117: { "rb", idcstrategy, idcopen, nullsys, idcioctl }, ! 118: #endif ! 119: { "rl", rlstrategy, rlopen, nullsys, rlioctl }, ! 120: #ifndef BOOT ! 121: { "ts", tsstrategy, tsopen, tsclose, nullioctl }, ! 122: #if defined(VAX780) || defined(VAX750) || defined(VAX8600) ! 123: { "ht", htstrategy, htopen, htclose, nullioctl }, ! 124: { "mt", mtstrategy, mtopen, mtclose, nullioctl }, ! 125: #endif ! 126: { "tm", tmstrategy, tmopen, tmclose, nullioctl }, ! 127: { "ut", utstrategy, utopen, utclose, nullioctl }, ! 128: #endif ! 129: { 0, 0, 0, 0, 0 }, ! 130: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.