1 /* 	SCCS Id: @(#)multi.h 3.1	93/01/08
2 /*	Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1992, 1993 */
3 /* NetHack may be freely redistributed.  See license for details. */
4 
5 /*
6  * external definitions for multi-file file handling package.
7  * NB - internal structure under development.  End users should NOT
8  *      get too creative!
9  */
10 
11 union multiopts {
12 	struct mo_read {
13 		char mor_tag;	/* tag character for this open */
14 	}r;
15 	struct mo_write {
16 		char dummy;	/* (no write in this version) */
17 	}w;
18 };
19 
20 struct multifh {
21 	unsigned long mfh_fh;	/* AmigaDOS file handle of current segment */
22 	unsigned long mfh_dirfh;/* AmigaDOS file handle of direction file */
23 	union multiopts mfh_mo;	/* copy from MultiOpen */
24 	struct mfh_flags {
25 		int version:8;	/* not used yet */
26 		int flags:24;	/* not used yet */
27 	};
28 };
29 
30 typedef union multiopts multiopts;
31 typedef struct multifh multifh;
32 
33 extern BPTR MultiOpen(char *, ULONG, multiopts *);
34 extern ULONG MultiRead(BPTR, void *, ULONG);
35 extern void MultiClose(BPTR);
36