1*11082Ssam /* confhpup.c 4.2 83/02/16 */ 210725Ssam 310725Ssam #include "../machine/pte.h" 410725Ssam 510725Ssam #include "../h/param.h" 610725Ssam #include "../h/inode.h" 710725Ssam #include "../h/fs.h" 810725Ssam #include "saio.h" 910725Ssam 1010725Ssam devread(io) 1110725Ssam register struct iob *io; 1210725Ssam { 13*11082Ssam int cc; 1410725Ssam 1510725Ssam io->i_flgs |= F_RDDATA; 16*11082Ssam io->i_error = 0; 17*11082Ssam cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, READ); 1810725Ssam io->i_flgs &= ~F_TYPEMASK; 19*11082Ssam return (cc); 2010725Ssam } 2110725Ssam 2210725Ssam devwrite(io) 2310725Ssam register struct iob *io; 2410725Ssam { 25*11082Ssam int cc; 2610725Ssam 2710725Ssam io->i_flgs |= F_WRDATA; 28*11082Ssam io->i_error = 0; 29*11082Ssam cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, WRITE); 3010725Ssam io->i_flgs &= ~F_TYPEMASK; 31*11082Ssam return (cc); 3210725Ssam } 3310725Ssam 3410725Ssam devopen(io) 3510725Ssam register struct iob *io; 3610725Ssam { 3710725Ssam 3810725Ssam (*devsw[io->i_ino.i_dev].dv_open)(io); 3910725Ssam } 4010725Ssam 4110725Ssam devclose(io) 4210725Ssam register struct iob *io; 4310725Ssam { 4410725Ssam 4510725Ssam (*devsw[io->i_ino.i_dev].dv_close)(io); 4610725Ssam } 4710725Ssam 4810725Ssam devioctl(io, cmd, arg) 4910725Ssam register struct iob *io; 5010725Ssam int cmd; 5110725Ssam caddr_t arg; 5210725Ssam { 5310725Ssam 5410725Ssam return ((*devsw[io->i_ino.i_dev].dv_ioctl)(io, cmd, arg)); 5510725Ssam } 5610725Ssam 5710725Ssam /*ARGSUSED*/ 5810725Ssam nullsys(io) 5910725Ssam struct iob *io; 6010725Ssam { 6110725Ssam 6210725Ssam ; 6310725Ssam } 6410725Ssam 6510725Ssam /*ARGSUSED*/ 6610725Ssam nullioctl(io, cmd, arg) 6710725Ssam struct iob *io; 6810725Ssam int cmd; 6910725Ssam caddr_t arg; 7010725Ssam { 7110725Ssam 7210725Ssam return (ECMD); 7310725Ssam } 7410725Ssam 7510725Ssam int nullsys(), nullioctl(); 7610725Ssam int hpstrategy(), hpopen(), hpioctl(); 7710725Ssam int upstrategy(), upopen(), upioctl(); 7810725Ssam 7910725Ssam struct devsw devsw[] = { 8010725Ssam { "hp", hpstrategy, hpopen, nullsys, hpioctl }, 8110725Ssam { "up", upstrategy, upopen, nullsys, upioctl }, 8210725Ssam { 0, 0, 0, 0, 0 } 8310725Ssam }; 84