ioapi.h revision 9e38dfa2f95fce609707a0941f10af9a785288de
19e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/* ioapi.h -- IO base function header for compress/uncompress .zip 29e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project files using zlib + zip or unzip API 39e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 49e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project Version 1.01e, February 12th, 2005 59e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 69e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project Copyright (C) 1998-2005 Gilles Vollant 79e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project*/ 89e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 99e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#ifndef _ZLIBIOAPI_H 109e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define _ZLIBIOAPI_H 119e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 129e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 139e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZLIB_FILEFUNC_SEEK_CUR (1) 149e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZLIB_FILEFUNC_SEEK_END (2) 159e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZLIB_FILEFUNC_SEEK_SET (0) 169e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 179e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZLIB_FILEFUNC_MODE_READ (1) 189e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZLIB_FILEFUNC_MODE_WRITE (2) 199e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3) 209e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 219e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZLIB_FILEFUNC_MODE_EXISTING (4) 229e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZLIB_FILEFUNC_MODE_CREATE (8) 239e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 249e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 259e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#ifndef ZCALLBACK 269e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 279e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#if (defined(WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK) 289e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZCALLBACK CALLBACK 299e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#else 309e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZCALLBACK 319e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#endif 329e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#endif 339e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 349e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#ifdef __cplusplus 359e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectextern "C" { 369e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#endif 379e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 389e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projecttypedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode)); 399e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projecttypedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size)); 409e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projecttypedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size)); 419e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projecttypedef long (ZCALLBACK *tell_file_func) OF((voidpf opaque, voidpf stream)); 429e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projecttypedef long (ZCALLBACK *seek_file_func) OF((voidpf opaque, voidpf stream, uLong offset, int origin)); 439e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projecttypedef int (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream)); 449e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projecttypedef int (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream)); 459e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 469e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projecttypedef struct zlib_filefunc_def_s 479e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project{ 489e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project open_file_func zopen_file; 499e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project read_file_func zread_file; 509e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project write_file_func zwrite_file; 519e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project tell_file_func ztell_file; 529e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project seek_file_func zseek_file; 539e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project close_file_func zclose_file; 549e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project testerror_file_func zerror_file; 559e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project voidpf opaque; 569e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project} zlib_filefunc_def; 579e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 589e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 599e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 609e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectvoid fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); 619e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 629e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZREAD(filefunc,filestream,buf,size) ((*((filefunc).zread_file))((filefunc).opaque,filestream,buf,size)) 639e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZWRITE(filefunc,filestream,buf,size) ((*((filefunc).zwrite_file))((filefunc).opaque,filestream,buf,size)) 649e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZTELL(filefunc,filestream) ((*((filefunc).ztell_file))((filefunc).opaque,filestream)) 659e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZSEEK(filefunc,filestream,pos,mode) ((*((filefunc).zseek_file))((filefunc).opaque,filestream,pos,mode)) 669e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZCLOSE(filefunc,filestream) ((*((filefunc).zclose_file))((filefunc).opaque,filestream)) 679e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#define ZERROR(filefunc,filestream) ((*((filefunc).zerror_file))((filefunc).opaque,filestream)) 689e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 699e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 709e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#ifdef __cplusplus 719e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project} 729e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#endif 739e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 749e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#endif 759e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project 76