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