Commit | Line | Data |
---|---|---|
8ae0e4b4 | 1 | /* |
0880b18e | 2 | * Copyright (c) 1982, 1986 Regents of the University of California. |
8ae0e4b4 KM |
3 | * All rights reserved. The Berkeley software License Agreement |
4 | * specifies the terms and conditions for redistribution. | |
5 | * | |
b56b77e2 | 6 | * @(#)confhpup.c 7.2 (Berkeley) %G% |
8ae0e4b4 | 7 | */ |
9c01e065 SL |
8 | |
9 | #include "../machine/pte.h" | |
10 | ||
11 | #include "../h/param.h" | |
12 | #include "../h/inode.h" | |
13 | #include "../h/fs.h" | |
14 | #include "saio.h" | |
15 | ||
16 | devread(io) | |
17 | register struct iob *io; | |
18 | { | |
d69d4250 | 19 | int cc; |
9c01e065 SL |
20 | |
21 | io->i_flgs |= F_RDDATA; | |
d69d4250 SL |
22 | io->i_error = 0; |
23 | cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, READ); | |
9c01e065 | 24 | io->i_flgs &= ~F_TYPEMASK; |
d69d4250 | 25 | return (cc); |
9c01e065 SL |
26 | } |
27 | ||
28 | devwrite(io) | |
29 | register struct iob *io; | |
30 | { | |
d69d4250 | 31 | int cc; |
9c01e065 SL |
32 | |
33 | io->i_flgs |= F_WRDATA; | |
d69d4250 SL |
34 | io->i_error = 0; |
35 | cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, WRITE); | |
9c01e065 | 36 | io->i_flgs &= ~F_TYPEMASK; |
d69d4250 | 37 | return (cc); |
9c01e065 SL |
38 | } |
39 | ||
40 | devopen(io) | |
41 | register struct iob *io; | |
42 | { | |
43 | ||
b56b77e2 | 44 | return (*devsw[io->i_ino.i_dev].dv_open)(io); |
9c01e065 SL |
45 | } |
46 | ||
47 | devclose(io) | |
48 | register struct iob *io; | |
49 | { | |
50 | ||
51 | (*devsw[io->i_ino.i_dev].dv_close)(io); | |
52 | } | |
53 | ||
54 | devioctl(io, cmd, arg) | |
55 | register struct iob *io; | |
56 | int cmd; | |
57 | caddr_t arg; | |
58 | { | |
59 | ||
60 | return ((*devsw[io->i_ino.i_dev].dv_ioctl)(io, cmd, arg)); | |
61 | } | |
62 | ||
63 | /*ARGSUSED*/ | |
64 | nullsys(io) | |
65 | struct iob *io; | |
66 | { | |
67 | ||
68 | ; | |
69 | } | |
70 | ||
71 | /*ARGSUSED*/ | |
72 | nullioctl(io, cmd, arg) | |
73 | struct iob *io; | |
74 | int cmd; | |
75 | caddr_t arg; | |
76 | { | |
77 | ||
78 | return (ECMD); | |
79 | } | |
80 | ||
81 | int nullsys(), nullioctl(); | |
82 | int hpstrategy(), hpopen(), hpioctl(); | |
83 | int upstrategy(), upopen(), upioctl(); | |
84 | ||
85 | struct devsw devsw[] = { | |
86 | { "hp", hpstrategy, hpopen, nullsys, hpioctl }, | |
87 | { "up", upstrategy, upopen, nullsys, upioctl }, | |
88 | { 0, 0, 0, 0, 0 } | |
89 | }; | |
b56b77e2 MK |
90 | |
91 | int ndevs = (sizeof(devsw) / sizeof(devsw[0]) - 1); |