21 #define ZLIB_FILEFUNC_SEEK_CUR (1)
22 #define ZLIB_FILEFUNC_SEEK_END (2)
23 #define ZLIB_FILEFUNC_SEEK_SET (0)
25 #define ZLIB_FILEFUNC_MODE_READ (1)
26 #define ZLIB_FILEFUNC_MODE_WRITE (2)
27 #define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3)
29 #define ZLIB_FILEFUNC_MODE_EXISTING (4)
30 #define ZLIB_FILEFUNC_MODE_CREATE (8)
35 #if (defined(WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK)
36 #define ZCALLBACK CALLBACK
44 #define OF(args) _Z_OF(args)
54 typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque,
const char* filename,
int mode));
55 typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream,
void* buf, uLong size));
56 typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream,
const void* buf, uLong size));
57 typedef long (ZCALLBACK *tell_file_func) OF((voidpf opaque, voidpf stream));
58 typedef long (ZCALLBACK *seek_file_func) OF((voidpf opaque, voidpf stream, uLong offset,
int origin));
59 typedef int (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream));
60 typedef int (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream));
64 open_file_func zopen_file;
65 read_file_func zread_file;
66 write_file_func zwrite_file;
67 tell_file_func ztell_file;
68 seek_file_func zseek_file;
69 close_file_func zclose_file;
70 testerror_file_func zerror_file;
78 #define ZREAD(filefunc,filestream,buf,size) ((*((filefunc).zread_file))((filefunc).opaque,filestream,buf,size))
79 #define ZWRITE(filefunc,filestream,buf,size) ((*((filefunc).zwrite_file))((filefunc).opaque,filestream,buf,size))
80 #define ZTELL(filefunc,filestream) ((*((filefunc).ztell_file))((filefunc).opaque,filestream))
81 #define ZSEEK(filefunc,filestream,pos,mode) ((*((filefunc).zseek_file))((filefunc).opaque,filestream,pos,mode))
82 #define ZCLOSE(filefunc,filestream) ((*((filefunc).zclose_file))((filefunc).opaque,filestream))
83 #define ZERROR(filefunc,filestream) ((*((filefunc).zerror_file))((filefunc).opaque,filestream))