|
|
1.1 root 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:
10: #include "saio.h"
11:
12: devread(io)
13: register struct iob *io;
14: {
15: int cc;
16:
17: io->i_flgs |= F_RDDATA;
18: io->i_error = 0;
19: cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, READ);
20: io->i_flgs &= ~F_TYPEMASK;
21: return (cc);
22: }
23:
24: devwrite(io)
25: register struct iob *io;
26: {
27: int cc;
28:
29: io->i_flgs |= F_WRDATA;
30: io->i_error = 0;
31: cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, WRITE);
32: io->i_flgs &= ~F_TYPEMASK;
33: return (cc);
34: }
35:
36: devopen(io)
37: register struct iob *io;
38: {
39:
40: (*devsw[io->i_ino.i_dev].dv_open)(io);
41: }
42:
43: devclose(io)
44: register struct iob *io;
45: {
46:
47: (*devsw[io->i_ino.i_dev].dv_close)(io);
48: }
49:
50:
51: /*ARGSUSED*/
52: nullsys(io)
53: struct iob *io;
54: {
55:
56: ;
57: }
58:
59:
60: int nullsys();
61:
62:
63: #define wchstrategy nullsys
64: #define wchopen nullsys
65: #define ctstrategy nullsys
66: #define ctopen nullsys
67: #define ctclose nullsys
68:
69: int udstrategy(), udopen();
70: int vdstrategy(), vdopen();
71: int cystrategy(), cyopen(), cyclose();
72:
73: struct devsw devsw[] = {
74: "fsd", vdstrategy, vdopen, nullsys,
75: "smd", vdstrategy, vdopen, nullsys,
76: "xfd", vdstrategy, vdopen, nullsys,
77: "fuj", vdstrategy, vdopen, nullsys,
78: "xsd", vdstrategy, vdopen, nullsys,
79:
80: "xmd", udstrategy, udopen, nullsys,
81: "flp", udstrategy, udopen, nullsys,
82: "cyp", cystrategy, cyopen, cyclose,
83: "wch", wchstrategy, wchopen, nullsys,
84: "ctp", ctstrategy, ctopen, ctclose,
85: 0, 0, 0, 0
86: };
87:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.