xref: /csrg-svn/sys/vax/stand/confxx.c (revision 10024)
1*10024Ssam /*	confxx.c	4.3	82/12/30	*/
27465Skre 
39803Ssam #include "../machine/pte.h"
49803Ssam 
57465Skre #include "../h/param.h"
67465Skre #include "../h/inode.h"
77465Skre #include "../h/fs.h"
87465Skre #include "saio.h"
97465Skre 
107465Skre devread(io)
117465Skre 	register struct iob *io;
127465Skre {
13*10024Ssam 	int error;
147465Skre 
15*10024Ssam 	io->i_flgs |= F_RDDATA;
16*10024Ssam 	error = (*devsw[io->i_ino.i_dev].dv_strategy)(io, READ);
17*10024Ssam 	io->i_flgs &= ~F_TYPEMASK;
18*10024Ssam 	return (error);
197465Skre }
207465Skre 
217465Skre devwrite(io)
227465Skre 	register struct iob *io;
237465Skre {
24*10024Ssam 	int error;
257465Skre 
26*10024Ssam 	io->i_flgs |= F_WRDATA;
27*10024Ssam 	error = (*devsw[io->i_ino.i_dev].dv_strategy)(io, WRITE);
28*10024Ssam 	io->i_flgs &= ~F_TYPEMASK;
29*10024Ssam 	return (error);
307465Skre }
317465Skre 
327465Skre devopen(io)
337465Skre 	register struct iob *io;
347465Skre {
357465Skre 
367465Skre 	(*devsw[io->i_ino.i_dev].dv_open)(io);
377465Skre }
387465Skre 
397465Skre devclose(io)
407465Skre 	register struct iob *io;
417465Skre {
427465Skre 
437465Skre 	(*devsw[io->i_ino.i_dev].dv_close)(io);
447465Skre }
457465Skre 
46*10024Ssam devioctl(io, cmd, arg)
47*10024Ssam 	register struct iob *io;
48*10024Ssam 	int cmd;
49*10024Ssam 	caddr_t arg;
507465Skre {
517465Skre 
52*10024Ssam 	return ((*devsw[io->i_ino.i_dev].dv_ioctl)(io, cmd, arg));
53*10024Ssam }
54*10024Ssam 
55*10024Ssam /*ARGSUSED*/
56*10024Ssam nullsys(io)
57*10024Ssam 	struct iob *io;
58*10024Ssam {
59*10024Ssam 
607465Skre 	;
617465Skre }
627465Skre 
63*10024Ssam /*ARGSUSED*/
64*10024Ssam nullioctl(io, cmd, arg)
65*10024Ssam 	struct iob *io;
66*10024Ssam 	int cmd;
67*10024Ssam 	caddr_t arg;
68*10024Ssam {
697465Skre 
70*10024Ssam 	return (ECMD);
71*10024Ssam }
72*10024Ssam 
73*10024Ssam int	nullsys(), nullioctl();
74*10024Ssam int	xxstrategy(), xxopen(), xxioctl();
75*10024Ssam 
767465Skre struct devsw devsw[] = {
77*10024Ssam 	{ "XX",	xxstrategy,	xxopen,		nullsys,	xxioctl },
78*10024Ssam 	{ 0, 0, 0, 0, 0 }
797465Skre };
80