struct COLEFS; struct COLEDIRENT; struct COLEDIR; struct COLEFILE; #define F32 #define F64 #define U8 #define U16 #define U32 U16 fil_sreadU16 (U8 *in); U32 fil_sreadU32 (U8 *in); F64 fil_sreadF64 (U8 *in); void fil_swriteU16 (U8 *dest, U16 *src); void fil_swriteU32 (U8 *dest, U32 *src); #define verbose_return () #define test (t,retval) #define test_exitf (t,retval,func) #define test_call (t,typeretval) #define test_call_exitf (t,typeretval,func) #define report_bug (prog) #define assert_return (prog,t,retval) #define verbose_d (n) #define verbose (s) #define verbose_wonl (s) #define verboseU8 (expr) #define verboseU16 (expr) #define verboseU32 (expr) #define verboseS (expr) #define verboseS_wonl (expr) #define warning (t) #define verboseU32Array (array,len) #define verboseU8Array_force (rec,len,reclen) #define verboseU8Array (rec,len,reclen) |
struct COLEFS { /* This structure is for internal use only, not for the public API */ pps_entry *tree; U32 root; /* entry root, root pps_entry */ U8 *BDepot; U8 *SDepot; FILE *sbfile; char *sbfilename; FILE *file; /* actual file (the filesystem) */ }; |
struct COLEDIRENT { /* This structure is for internal use only, not for the public API */ U32 entry; struct _COLEDIR *dir; /* father */ }; |
struct COLEDIR { /* This structure is for internal use only, not for the public API */ U32 entry; struct _COLEDIRENT visited_entry; struct _COLEFS *fs; /* father */ }; |
struct COLEFILE { /* This structure is for internal use only, not for the public API */ U32 entry; FILE *file; /* actual extracted file */ char *filename; /* actual extracted file's name */ U32 filesize; /* actual extracted file size */ struct _COLEFS *fs; /* father */ U32 pos; /* file pointer position */ }; |