|
|
1.1 root 1: /*
2: * header file for standalone package
3: */
4:
5: /*
6: * io block: includes an
7: * inode, cells for the use of seek, etc,
8: * and a buffer.
9: */
10: struct iob {
11: char i_flgs;
12: struct inode i_ino;
13: int i_unit;
14: daddr_t i_boff;
15: daddr_t i_cyloff;
16: off_t i_offset;
17: daddr_t i_bn;
18: char *i_ma;
19: int i_cc;
20: char i_buf[BSIZE];
21: };
22:
23: #define F_READ 01
24: #define F_WRITE 02
25: #define F_ALLOC 04
26: #define F_FILE 010
27:
28: /*
29: * dev switch
30: */
31: struct devsw {
32: char *dv_name;
33: int (*dv_strategy)();
34: int (*dv_open)();
35: int (*dv_close)();
36: };
37:
38: struct devsw devsw[];
39:
40: /*
41: * request codes. Must be the same a F_XXX above
42: */
43: #define READ 1
44: #define WRITE 2
45:
46: #define NBUFS 4
47:
48: char b[NBUFS][BSIZE];
49: daddr_t blknos[NBUFS];
50:
51: #define NFILES 4
52: struct iob iob[NFILES];
53:
54: #define PHYSUBA0 0x20006000
55: #define PHYSMBA0 0x20010000
56: #define PHYSMBA1 0x20012000
57: #define PHYSUMEM 0x2013e000
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.