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