xref: /csrg-svn/sys/stand.att/saio.h (revision 6004)
1*6004Smckusic /*	saio.h	4.5	02/28/82	*/
2325Sbill 
3325Sbill /*
4325Sbill  * header file for standalone package
5325Sbill  */
6325Sbill 
7325Sbill /*
8325Sbill  * io block: includes an
9325Sbill  * inode, cells for the use of seek, etc,
10325Sbill  * and a buffer.
11325Sbill  */
12325Sbill struct	iob {
13325Sbill 	char	i_flgs;
14325Sbill 	struct	inode i_ino;
15325Sbill 	int	i_unit;
16325Sbill 	daddr_t	i_boff;
17325Sbill 	daddr_t	i_cyloff;
18325Sbill 	off_t	i_offset;
19325Sbill 	daddr_t	i_bn;
20325Sbill 	char	*i_ma;
21325Sbill 	int	i_cc;
22*6004Smckusic 	char	i_buf[MAXBSIZE];
23*6004Smckusic 	union {
24*6004Smckusic 		struct fs ui_fs;
25*6004Smckusic 		char dummy[SBSIZE];
26*6004Smckusic 	} i_un;
27325Sbill };
28*6004Smckusic #define i_fs i_un.ui_fs
29325Sbill 
30325Sbill #define F_READ	01
31325Sbill #define F_WRITE	02
32325Sbill #define F_ALLOC	04
33325Sbill #define F_FILE	010
34325Sbill 
35325Sbill /*
36325Sbill  * dev switch
37325Sbill  */
38325Sbill struct devsw {
39325Sbill 	char	*dv_name;
40325Sbill 	int	(*dv_strategy)();
41325Sbill 	int	(*dv_open)();
42325Sbill 	int	(*dv_close)();
43325Sbill };
44325Sbill 
45325Sbill struct devsw devsw[];
46325Sbill 
47325Sbill /*
48325Sbill  * request codes. Must be the same a F_XXX above
49325Sbill  */
50325Sbill #define	READ	1
51325Sbill #define	WRITE	2
52325Sbill 
53325Sbill #define	NBUFS	4
54325Sbill 
55*6004Smckusic char	b[NBUFS][MAXBSIZE];
56325Sbill daddr_t	blknos[NBUFS];
57325Sbill 
58325Sbill #define NFILES	4
59325Sbill struct	iob iob[NFILES];
60