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