xref: /csrg-svn/sys/tahoe/stand/conf.c (revision 29566)
1*29566Ssam /*	conf.c	1.2	86/07/16	*/
225866Ssam /*	conf.c	6.1	83/07/29	*/
325866Ssam 
425866Ssam #include "../machine/pte.h"
525866Ssam 
625866Ssam #include "param.h"
725866Ssam #include "inode.h"
825866Ssam #include "fs.h"
925866Ssam 
1025866Ssam #include "saio.h"
1125866Ssam 
1225866Ssam devread(io)
1325866Ssam 	register struct iob *io;
1425866Ssam {
1525866Ssam 	int cc;
1625866Ssam 
1725866Ssam 	io->i_flgs |= F_RDDATA;
1825866Ssam 	io->i_error = 0;
1925866Ssam 	cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, READ);
2025866Ssam 	io->i_flgs &= ~F_TYPEMASK;
2125866Ssam 	return (cc);
2225866Ssam }
2325866Ssam 
2425866Ssam devwrite(io)
2525866Ssam 	register struct iob *io;
2625866Ssam {
2725866Ssam 	int cc;
2825866Ssam 
2925866Ssam 	io->i_flgs |= F_WRDATA;
3025866Ssam 	io->i_error = 0;
3125866Ssam 	cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, WRITE);
3225866Ssam 	io->i_flgs &= ~F_TYPEMASK;
3325866Ssam 	return (cc);
3425866Ssam }
3525866Ssam 
3625866Ssam devopen(io)
3725866Ssam 	register struct iob *io;
3825866Ssam {
3925866Ssam 
4025866Ssam 	(*devsw[io->i_ino.i_dev].dv_open)(io);
4125866Ssam }
4225866Ssam 
4325866Ssam devclose(io)
4425866Ssam 	register struct iob *io;
4525866Ssam {
4625866Ssam 
4725866Ssam 	(*devsw[io->i_ino.i_dev].dv_close)(io);
4825866Ssam }
4925866Ssam 
5025866Ssam /*ARGSUSED*/
51*29566Ssam nullsys(io) struct iob *io; {}
52*29566Ssam nullopen(io) struct iob *io; { _stop("bad device type"); }
5325866Ssam 
54*29566Ssam int	udstrategy(), udopen();
55*29566Ssam int	vdstrategy(), vdopen();
56*29566Ssam int	cystrategy(), cyopen(), cyclose();
5725866Ssam 
5825866Ssam struct devsw devsw[] = {
59*29566Ssam 	{ "ud",	udstrategy,	udopen,		nullsys },
60*29566Ssam 	{ "dk",	vdstrategy,	vdopen,		nullsys },
61*29566Ssam #ifdef notdef
62*29566Ssam 	{ "xp",	xpstrategy,	xpopen,		nullsys },
63*29566Ssam #else
64*29566Ssam 	{ "xp",	nullopen,	nullsys,	nullsys },
65*29566Ssam #endif
66*29566Ssam 	{ "cy",	cystrategy,	cyopen,		cyclose },
67*29566Ssam 	{ 0 }
6825866Ssam };
69