xref: /csrg-svn/sys/vax/stand/confxx.c (revision 23222)
1*23222Smckusick /*
2*23222Smckusick  * Copyright (c) 1982 Regents of the University of California.
3*23222Smckusick  * All rights reserved.  The Berkeley software License Agreement
4*23222Smckusick  * specifies the terms and conditions for redistribution.
5*23222Smckusick  *
6*23222Smckusick  *	@(#)confxx.c	6.2 (Berkeley) 06/08/85
7*23222Smckusick  */
87465Skre 
99803Ssam #include "../machine/pte.h"
109803Ssam 
117465Skre #include "../h/param.h"
127465Skre #include "../h/inode.h"
137465Skre #include "../h/fs.h"
147465Skre #include "saio.h"
157465Skre 
167465Skre devread(io)
177465Skre 	register struct iob *io;
187465Skre {
1911111Ssam 	int cc;
207465Skre 
2110024Ssam 	io->i_flgs |= F_RDDATA;
2211111Ssam 	io->i_error = 0;
2311111Ssam 	cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, READ);
2410024Ssam 	io->i_flgs &= ~F_TYPEMASK;
2511111Ssam 	return (cc);
267465Skre }
277465Skre 
287465Skre devwrite(io)
297465Skre 	register struct iob *io;
307465Skre {
3111111Ssam 	int cc;
327465Skre 
3310024Ssam 	io->i_flgs |= F_WRDATA;
3411111Ssam 	io->i_error = 0;
3511111Ssam 	cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, WRITE);
3610024Ssam 	io->i_flgs &= ~F_TYPEMASK;
3711111Ssam 	return (cc);
387465Skre }
397465Skre 
407465Skre devopen(io)
417465Skre 	register struct iob *io;
427465Skre {
437465Skre 
447465Skre 	(*devsw[io->i_ino.i_dev].dv_open)(io);
457465Skre }
467465Skre 
477465Skre devclose(io)
487465Skre 	register struct iob *io;
497465Skre {
507465Skre 
517465Skre 	(*devsw[io->i_ino.i_dev].dv_close)(io);
527465Skre }
537465Skre 
5410024Ssam devioctl(io, cmd, arg)
5510024Ssam 	register struct iob *io;
5610024Ssam 	int cmd;
5710024Ssam 	caddr_t arg;
587465Skre {
597465Skre 
6010024Ssam 	return ((*devsw[io->i_ino.i_dev].dv_ioctl)(io, cmd, arg));
6110024Ssam }
6210024Ssam 
6310024Ssam /*ARGSUSED*/
6410024Ssam nullsys(io)
6510024Ssam 	struct iob *io;
6610024Ssam {
6710024Ssam 
687465Skre 	;
697465Skre }
707465Skre 
7110024Ssam /*ARGSUSED*/
7210024Ssam nullioctl(io, cmd, arg)
7310024Ssam 	struct iob *io;
7410024Ssam 	int cmd;
7510024Ssam 	caddr_t arg;
7610024Ssam {
777465Skre 
7810024Ssam 	return (ECMD);
7910024Ssam }
8010024Ssam 
8110024Ssam int	nullsys(), nullioctl();
8210024Ssam int	xxstrategy(), xxopen(), xxioctl();
8310024Ssam 
847465Skre struct devsw devsw[] = {
8510024Ssam 	{ "XX",	xxstrategy,	xxopen,		nullsys,	xxioctl },
8610024Ssam 	{ 0, 0, 0, 0, 0 }
877465Skre };
88