xref: /csrg-svn/sys/i386/stand/conf.c (revision 41072)
1*41072Swilliam /*-
2*41072Swilliam  * Copyright (c) 1990 The Regents of the University of California.
3*41072Swilliam  * All rights reserved.
4*41072Swilliam  *
5*41072Swilliam  * This code is derived from software contributed to Berkeley by
6*41072Swilliam  * William Jolitz.
7*41072Swilliam  *
8*41072Swilliam  * %sccs.include.noredist.c%
9*41072Swilliam  *
10*41072Swilliam  *	@(#)conf.c	7.1 (Berkeley) 04/24/90
11*41072Swilliam  */
12*41072Swilliam 
13*41072Swilliam 
14*41072Swilliam /*#include "../machine/pte.h"*/
15*41072Swilliam 
16*41072Swilliam #include "../h/param.h"
17*41072Swilliam #include "../h/inode.h"
18*41072Swilliam #include "../h/fs.h"
19*41072Swilliam 
20*41072Swilliam 
21*41072Swilliam #include "saio.h"
22*41072Swilliam 
23*41072Swilliam devread(io)
24*41072Swilliam 	register struct iob *io;
25*41072Swilliam {
26*41072Swilliam 	int cc;
27*41072Swilliam 
28*41072Swilliam 	io->i_flgs |= F_RDDATA;
29*41072Swilliam 	io->i_error = 0;
30*41072Swilliam 	cc = (*devsw[major(io->i_ino.i_dev)].dv_strategy)(io, READ);
31*41072Swilliam 	io->i_flgs &= ~F_TYPEMASK;
32*41072Swilliam 	return (cc);
33*41072Swilliam }
34*41072Swilliam 
35*41072Swilliam devwrite(io)
36*41072Swilliam 	register struct iob *io;
37*41072Swilliam {
38*41072Swilliam 	int cc;
39*41072Swilliam 
40*41072Swilliam 	io->i_flgs |= F_WRDATA;
41*41072Swilliam 	io->i_error = 0;
42*41072Swilliam 	cc = (*devsw[major(io->i_ino.i_dev)].dv_strategy)(io, WRITE);
43*41072Swilliam 	io->i_flgs &= ~F_TYPEMASK;
44*41072Swilliam 	return (cc);
45*41072Swilliam }
46*41072Swilliam 
47*41072Swilliam devopen(io)
48*41072Swilliam 	register struct iob *io;
49*41072Swilliam {
50*41072Swilliam 
51*41072Swilliam 	(*devsw[major(io->i_ino.i_dev)].dv_open)(io);
52*41072Swilliam }
53*41072Swilliam 
54*41072Swilliam devclose(io)
55*41072Swilliam 	register struct iob *io;
56*41072Swilliam {
57*41072Swilliam 
58*41072Swilliam 	(*devsw[major(io->i_ino.i_dev)].dv_close)(io);
59*41072Swilliam }
60*41072Swilliam 
61*41072Swilliam devioctl(io, cmd, arg)
62*41072Swilliam 	register struct iob *io;
63*41072Swilliam 	int cmd;
64*41072Swilliam 	caddr_t arg;
65*41072Swilliam {
66*41072Swilliam 
67*41072Swilliam 	return ((*devsw[major(io->i_ino.i_dev)].dv_ioctl)(io, cmd, arg));
68*41072Swilliam }
69*41072Swilliam 
70*41072Swilliam /*ARGSUSED*/
71*41072Swilliam nullsys(io)
72*41072Swilliam 	struct iob *io;
73*41072Swilliam {
74*41072Swilliam 
75*41072Swilliam 	;
76*41072Swilliam }
77*41072Swilliam 
78*41072Swilliam /*ARGSUSED*/
79*41072Swilliam nullioctl(io, cmd, arg)
80*41072Swilliam 	struct iob *io;
81*41072Swilliam 	int cmd;
82*41072Swilliam 	caddr_t arg;
83*41072Swilliam {
84*41072Swilliam 
85*41072Swilliam 	return (ECMD);
86*41072Swilliam }
87*41072Swilliam 
88*41072Swilliam int	nullsys(), nullioctl();
89*41072Swilliam int	wdstrategy(), wdopen()/*, wdioctl()*/;
90*41072Swilliam 
91*41072Swilliam struct devsw devsw[] = {
92*41072Swilliam 	/*{ "xx",	xxstrategy,	xxopen,		nullsys, nullioctl },*/
93*41072Swilliam 	{ "wd",	wdstrategy,	wdopen,		nullsys,/*wdioctl*/ nullioctl },
94*41072Swilliam 	{ 0, 0, 0, 0, 0 },
95*41072Swilliam };
96*41072Swilliam int ndevs = 2 ;
97