xref: /original-bsd/sys/vax/stand/conf.c (revision 18f6d767)
1 /*	conf.c	6.1	83/07/29	*/
2 
3 #include "../machine/pte.h"
4 
5 #include "../h/param.h"
6 #include "../h/inode.h"
7 #include "../h/fs.h"
8 
9 #include "../vaxmba/mbareg.h"
10 
11 #include "saio.h"
12 
13 devread(io)
14 	register struct iob *io;
15 {
16 	int cc;
17 
18 	io->i_flgs |= F_RDDATA;
19 	io->i_error = 0;
20 	cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, READ);
21 	io->i_flgs &= ~F_TYPEMASK;
22 	return (cc);
23 }
24 
25 devwrite(io)
26 	register struct iob *io;
27 {
28 	int cc;
29 
30 	io->i_flgs |= F_WRDATA;
31 	io->i_error = 0;
32 	cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, WRITE);
33 	io->i_flgs &= ~F_TYPEMASK;
34 	return (cc);
35 }
36 
37 devopen(io)
38 	register struct iob *io;
39 {
40 
41 	(*devsw[io->i_ino.i_dev].dv_open)(io);
42 }
43 
44 devclose(io)
45 	register struct iob *io;
46 {
47 
48 	(*devsw[io->i_ino.i_dev].dv_close)(io);
49 }
50 
51 devioctl(io, cmd, arg)
52 	register struct iob *io;
53 	int cmd;
54 	caddr_t arg;
55 {
56 
57 	return ((*devsw[io->i_ino.i_dev].dv_ioctl)(io, cmd, arg));
58 }
59 
60 /*ARGSUSED*/
61 nullsys(io)
62 	struct iob *io;
63 {
64 
65 	;
66 }
67 
68 /*ARGSUSED*/
69 nullioctl(io, cmd, arg)
70 	struct iob *io;
71 	int cmd;
72 	caddr_t arg;
73 {
74 
75 	return (ECMD);
76 }
77 
78 int	nullsys(), nullioctl();
79 #if defined(VAX780) || defined(VAX750)
80 int	hpstrategy(), hpopen(), hpioctl();
81 #endif
82 #if defined(VAX780) || defined(VAX750)
83 int	upstrategy(), upopen(), upioctl();
84 #endif
85 int	rkstrategy(), rkopen(), rkioctl();
86 int	rastrategy(), raopen(), raioctl();
87 #if defined(VAX730)
88 int	idcstrategy(), idcopen(), idcioctl();
89 #endif
90 int	rlstrategy(), rlopen(), rlioctl();
91 #ifndef BOOT
92 int	tmstrategy(), tmopen(), tmclose();
93 int	tsstrategy(), tsopen(), tsclose();
94 #if defined(VAX780) || defined(VAX750)
95 int	htstrategy(), htopen(), htclose();
96 int	mtstrategy(), mtopen(), mtclose();
97 #endif
98 int	utstrategy(), utopen(), utclose();
99 #endif
100 
101 struct devsw devsw[] = {
102 #if defined(VAX780) || defined(VAX750)
103 	{ "hp",	hpstrategy,	hpopen,		nullsys,	hpioctl },
104 #endif
105 #if defined(VAX780) || defined(VAX750)
106 	{ "up",	upstrategy,	upopen,		nullsys,	upioctl },
107 #endif
108 	{ "hk",	rkstrategy,	rkopen,		nullsys,	rkioctl },
109 	{ "ra",	rastrategy,	raopen,		nullsys,	raioctl },
110 #if defined(VAX730)
111 	{ "rb",	idcstrategy,	idcopen,	nullsys,	idcioctl },
112 #endif
113 	{ "rl",	rlstrategy,	rlopen,		nullsys,	rlioctl },
114 #ifndef BOOT
115 	{ "ts",	tsstrategy,	tsopen,		tsclose,	nullioctl },
116 #if defined(VAX780) || defined(VAX750)
117 	{ "ht",	htstrategy,	htopen,		htclose,	nullioctl },
118 	{ "mt",	mtstrategy,	mtopen,		mtclose,	nullioctl },
119 #endif
120 	{ "tm",	tmstrategy,	tmopen,		tmclose,	nullioctl },
121 	{ "ut",	utstrategy,	utopen,		utclose,	nullioctl },
122 #endif
123 	{ 0, 0, 0, 0, 0 },
124 };
125