xref: /csrg-svn/sys/vax/stand/confhpup.c (revision 10725)
1*10725Ssam /*	confhpup.c	4.1	83/02/04	*/
2*10725Ssam 
3*10725Ssam #include "../machine/pte.h"
4*10725Ssam 
5*10725Ssam #include "../h/param.h"
6*10725Ssam #include "../h/inode.h"
7*10725Ssam #include "../h/fs.h"
8*10725Ssam #include "saio.h"
9*10725Ssam 
10*10725Ssam devread(io)
11*10725Ssam 	register struct iob *io;
12*10725Ssam {
13*10725Ssam 	int error;
14*10725Ssam 
15*10725Ssam 	io->i_flgs |= F_RDDATA;
16*10725Ssam 	error = (*devsw[io->i_ino.i_dev].dv_strategy)(io, READ);
17*10725Ssam 	io->i_flgs &= ~F_TYPEMASK;
18*10725Ssam 	return (error);
19*10725Ssam }
20*10725Ssam 
21*10725Ssam devwrite(io)
22*10725Ssam 	register struct iob *io;
23*10725Ssam {
24*10725Ssam 	int error;
25*10725Ssam 
26*10725Ssam 	io->i_flgs |= F_WRDATA;
27*10725Ssam 	error = (*devsw[io->i_ino.i_dev].dv_strategy)(io, WRITE);
28*10725Ssam 	io->i_flgs &= ~F_TYPEMASK;
29*10725Ssam 	return (error);
30*10725Ssam }
31*10725Ssam 
32*10725Ssam devopen(io)
33*10725Ssam 	register struct iob *io;
34*10725Ssam {
35*10725Ssam 
36*10725Ssam 	(*devsw[io->i_ino.i_dev].dv_open)(io);
37*10725Ssam }
38*10725Ssam 
39*10725Ssam devclose(io)
40*10725Ssam 	register struct iob *io;
41*10725Ssam {
42*10725Ssam 
43*10725Ssam 	(*devsw[io->i_ino.i_dev].dv_close)(io);
44*10725Ssam }
45*10725Ssam 
46*10725Ssam devioctl(io, cmd, arg)
47*10725Ssam 	register struct iob *io;
48*10725Ssam 	int cmd;
49*10725Ssam 	caddr_t arg;
50*10725Ssam {
51*10725Ssam 
52*10725Ssam 	return ((*devsw[io->i_ino.i_dev].dv_ioctl)(io, cmd, arg));
53*10725Ssam }
54*10725Ssam 
55*10725Ssam /*ARGSUSED*/
56*10725Ssam nullsys(io)
57*10725Ssam 	struct iob *io;
58*10725Ssam {
59*10725Ssam 
60*10725Ssam 	;
61*10725Ssam }
62*10725Ssam 
63*10725Ssam /*ARGSUSED*/
64*10725Ssam nullioctl(io, cmd, arg)
65*10725Ssam 	struct iob *io;
66*10725Ssam 	int cmd;
67*10725Ssam 	caddr_t arg;
68*10725Ssam {
69*10725Ssam 
70*10725Ssam 	return (ECMD);
71*10725Ssam }
72*10725Ssam 
73*10725Ssam int	nullsys(), nullioctl();
74*10725Ssam int	hpstrategy(), hpopen(), hpioctl();
75*10725Ssam int	upstrategy(), upopen(), upioctl();
76*10725Ssam 
77*10725Ssam struct devsw devsw[] = {
78*10725Ssam 	{ "hp",	hpstrategy,	hpopen,		nullsys,	hpioctl },
79*10725Ssam 	{ "up",	upstrategy,	upopen,		nullsys,	upioctl },
80*10725Ssam 	{ 0, 0, 0, 0, 0 }
81*10725Ssam };
82