--- ioapi.h.orig 2012-01-17 03:51:31.000000000 +0100 +++ ioapi.h 2014-06-08 21:54:18.326360527 +0200 @@ -67,6 +67,24 @@ #endif #endif +/* As reported by sammyx, z_crc_t and z_const are not defined in pre-1.2.70 releases of zlib */ +/* See */ +#if ZLIB_VERNUM < 0x1270 + +#ifdef Z_U4 + typedef Z_U4 z_crc_t; +#else + typedef unsigned long z_crc_t; +#endif + +#if defined(ZLIB_CONST) && !defined(z_const) +# define z_const const +#else +# define z_const +#endif + +#endif + /* #ifndef ZPOS64_T #ifdef _WIN32 @@ -135,6 +153,7 @@ typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode)); typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size)); typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size)); +typedef int (ZCALLBACK *flush_file_func) OF((voidpf opaque, voidpf stream)); typedef int (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream)); typedef int (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream)); @@ -148,6 +167,7 @@ open_file_func zopen_file; read_file_func zread_file; write_file_func zwrite_file; + flush_file_func zflush_file; tell_file_func ztell_file; seek_file_func zseek_file; close_file_func zclose_file; @@ -164,6 +184,7 @@ open64_file_func zopen64_file; read_file_func zread_file; write_file_func zwrite_file; + flush_file_func zflush_file; tell64_file_func ztell64_file; seek64_file_func zseek64_file; close_file_func zclose_file; @@ -186,6 +207,7 @@ #define ZREAD64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zread_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size)) #define ZWRITE64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zwrite_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size)) +#define ZFLUSH64(filefunc,filestream) ((*((filefunc).zfile_func64.zflush_file)) ((filefunc).zfile_func64.opaque,filestream)) //#define ZTELL64(filefunc,filestream) ((*((filefunc).ztell64_file)) ((filefunc).opaque,filestream)) //#define ZSEEK64(filefunc,filestream,pos,mode) ((*((filefunc).zseek64_file)) ((filefunc).opaque,filestream,pos,mode)) #define ZCLOSE64(filefunc,filestream) ((*((filefunc).zfile_func64.zclose_file)) ((filefunc).zfile_func64.opaque,filestream))