1*10725Ssam /* confhpup.c 4.1 83/02/04 */ 2*10725Ssam 3*10725Ssam #include "../machine/pte.h" 4*10725Ssam 5*10725Ssam #include "../h/param.h" 6*10725Ssam #include "../h/inode.h" 7*10725Ssam #include "../h/fs.h" 8*10725Ssam #include "saio.h" 9*10725Ssam 10*10725Ssam devread(io) 11*10725Ssam register struct iob *io; 12*10725Ssam { 13*10725Ssam int error; 14*10725Ssam 15*10725Ssam io->i_flgs |= F_RDDATA; 16*10725Ssam error = (*devsw[io->i_ino.i_dev].dv_strategy)(io, READ); 17*10725Ssam io->i_flgs &= ~F_TYPEMASK; 18*10725Ssam return (error); 19*10725Ssam } 20*10725Ssam 21*10725Ssam devwrite(io) 22*10725Ssam register struct iob *io; 23*10725Ssam { 24*10725Ssam int error; 25*10725Ssam 26*10725Ssam io->i_flgs |= F_WRDATA; 27*10725Ssam error = (*devsw[io->i_ino.i_dev].dv_strategy)(io, WRITE); 28*10725Ssam io->i_flgs &= ~F_TYPEMASK; 29*10725Ssam return (error); 30*10725Ssam } 31*10725Ssam 32*10725Ssam devopen(io) 33*10725Ssam register struct iob *io; 34*10725Ssam { 35*10725Ssam 36*10725Ssam (*devsw[io->i_ino.i_dev].dv_open)(io); 37*10725Ssam } 38*10725Ssam 39*10725Ssam devclose(io) 40*10725Ssam register struct iob *io; 41*10725Ssam { 42*10725Ssam 43*10725Ssam (*devsw[io->i_ino.i_dev].dv_close)(io); 44*10725Ssam } 45*10725Ssam 46*10725Ssam devioctl(io, cmd, arg) 47*10725Ssam register struct iob *io; 48*10725Ssam int cmd; 49*10725Ssam caddr_t arg; 50*10725Ssam { 51*10725Ssam 52*10725Ssam return ((*devsw[io->i_ino.i_dev].dv_ioctl)(io, cmd, arg)); 53*10725Ssam } 54*10725Ssam 55*10725Ssam /*ARGSUSED*/ 56*10725Ssam nullsys(io) 57*10725Ssam struct iob *io; 58*10725Ssam { 59*10725Ssam 60*10725Ssam ; 61*10725Ssam } 62*10725Ssam 63*10725Ssam /*ARGSUSED*/ 64*10725Ssam nullioctl(io, cmd, arg) 65*10725Ssam struct iob *io; 66*10725Ssam int cmd; 67*10725Ssam caddr_t arg; 68*10725Ssam { 69*10725Ssam 70*10725Ssam return (ECMD); 71*10725Ssam } 72*10725Ssam 73*10725Ssam int nullsys(), nullioctl(); 74*10725Ssam int hpstrategy(), hpopen(), hpioctl(); 75*10725Ssam int upstrategy(), upopen(), upioctl(); 76*10725Ssam 77*10725Ssam struct devsw devsw[] = { 78*10725Ssam { "hp", hpstrategy, hpopen, nullsys, hpioctl }, 79*10725Ssam { "up", upstrategy, upopen, nullsys, upioctl }, 80*10725Ssam { 0, 0, 0, 0, 0 } 81*10725Ssam }; 82