xref: /csrg-svn/sys/tahoe/stand/conf.c (revision 25866)
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