1*25866Ssam /* conf.c 1.1 86/01/12 */ 2*25866Ssam /* conf.c 6.1 83/07/29 */ 3*25866Ssam 4*25866Ssam #include "../machine/pte.h" 5*25866Ssam 6*25866Ssam #include "param.h" 7*25866Ssam #include "inode.h" 8*25866Ssam #include "fs.h" 9*25866Ssam 10*25866Ssam 11*25866Ssam #include "saio.h" 12*25866Ssam 13*25866Ssam devread(io) 14*25866Ssam register struct iob *io; 15*25866Ssam { 16*25866Ssam int cc; 17*25866Ssam 18*25866Ssam io->i_flgs |= F_RDDATA; 19*25866Ssam io->i_error = 0; 20*25866Ssam cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, READ); 21*25866Ssam io->i_flgs &= ~F_TYPEMASK; 22*25866Ssam return (cc); 23*25866Ssam } 24*25866Ssam 25*25866Ssam devwrite(io) 26*25866Ssam register struct iob *io; 27*25866Ssam { 28*25866Ssam int cc; 29*25866Ssam 30*25866Ssam io->i_flgs |= F_WRDATA; 31*25866Ssam io->i_error = 0; 32*25866Ssam cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, WRITE); 33*25866Ssam io->i_flgs &= ~F_TYPEMASK; 34*25866Ssam return (cc); 35*25866Ssam } 36*25866Ssam 37*25866Ssam devopen(io) 38*25866Ssam register struct iob *io; 39*25866Ssam { 40*25866Ssam 41*25866Ssam (*devsw[io->i_ino.i_dev].dv_open)(io); 42*25866Ssam } 43*25866Ssam 44*25866Ssam devclose(io) 45*25866Ssam register struct iob *io; 46*25866Ssam { 47*25866Ssam 48*25866Ssam (*devsw[io->i_ino.i_dev].dv_close)(io); 49*25866Ssam } 50*25866Ssam 51*25866Ssam 52*25866Ssam /*ARGSUSED*/ 53*25866Ssam nullsys(io) 54*25866Ssam struct iob *io; 55*25866Ssam { 56*25866Ssam 57*25866Ssam ; 58*25866Ssam } 59*25866Ssam 60*25866Ssam 61*25866Ssam int nullsys(); 62*25866Ssam 63*25866Ssam 64*25866Ssam #define wchstrategy nullsys 65*25866Ssam #define wchopen nullsys 66*25866Ssam #define ctstrategy nullsys 67*25866Ssam #define ctopen nullsys 68*25866Ssam #define ctclose nullsys 69*25866Ssam 70*25866Ssam int udstrategy(), udopen(); 71*25866Ssam int vdstrategy(), vdopen(); 72*25866Ssam int cystrategy(), cyopen(), cyclose(); 73*25866Ssam 74*25866Ssam struct devsw devsw[] = { 75*25866Ssam "fsd", vdstrategy, vdopen, nullsys, 76*25866Ssam "smd", vdstrategy, vdopen, nullsys, 77*25866Ssam "xfd", vdstrategy, vdopen, nullsys, 78*25866Ssam "fuj", vdstrategy, vdopen, nullsys, 79*25866Ssam "xsd", vdstrategy, vdopen, nullsys, 80*25866Ssam 81*25866Ssam "xmd", udstrategy, udopen, nullsys, 82*25866Ssam "flp", udstrategy, udopen, nullsys, 83*25866Ssam "cyp", cystrategy, cyopen, cyclose, 84*25866Ssam "wch", wchstrategy, wchopen, nullsys, 85*25866Ssam "ctp", ctstrategy, ctopen, ctclose, 86*25866Ssam 0, 0, 0, 0 87*25866Ssam }; 88*25866Ssam 89