Contents of /trunk/src/ioapi.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (hide annotations)
Sat Jun 20 11:08:47 2009 UTC (14 years, 11 months ago) by harbaum
File MIME type: text/plain
File size: 2535 byte(s)
Initial import
1 harbaum 1 /* ioapi.h -- IO base function header for compress/uncompress .zip
2     files using zlib + zip or unzip API
3    
4     Version 1.01e, February 12th, 2005
5    
6     Copyright (C) 1998-2005 Gilles Vollant
7     */
8    
9     #ifndef _ZLIBIOAPI_H
10     #define _ZLIBIOAPI_H
11    
12    
13     #define ZLIB_FILEFUNC_SEEK_CUR (1)
14     #define ZLIB_FILEFUNC_SEEK_END (2)
15     #define ZLIB_FILEFUNC_SEEK_SET (0)
16    
17     #define ZLIB_FILEFUNC_MODE_READ (1)
18     #define ZLIB_FILEFUNC_MODE_WRITE (2)
19     #define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3)
20    
21     #define ZLIB_FILEFUNC_MODE_EXISTING (4)
22     #define ZLIB_FILEFUNC_MODE_CREATE (8)
23    
24    
25     #ifndef ZCALLBACK
26    
27     #if (defined(WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK)
28     #define ZCALLBACK CALLBACK
29     #else
30     #define ZCALLBACK
31     #endif
32     #endif
33    
34     #ifdef __cplusplus
35     extern "C" {
36     #endif
37    
38     typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode));
39     typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size));
40     typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
41     typedef long (ZCALLBACK *tell_file_func) OF((voidpf opaque, voidpf stream));
42     typedef long (ZCALLBACK *seek_file_func) OF((voidpf opaque, voidpf stream, uLong offset, int origin));
43     typedef int (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream));
44     typedef int (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream));
45    
46     typedef struct zlib_filefunc_def_s
47     {
48     open_file_func zopen_file;
49     read_file_func zread_file;
50     write_file_func zwrite_file;
51     tell_file_func ztell_file;
52     seek_file_func zseek_file;
53     close_file_func zclose_file;
54     testerror_file_func zerror_file;
55     voidpf opaque;
56     } zlib_filefunc_def;
57    
58    
59    
60     void fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def));
61    
62     #define ZREAD(filefunc,filestream,buf,size) ((*((filefunc).zread_file))((filefunc).opaque,filestream,buf,size))
63     #define ZWRITE(filefunc,filestream,buf,size) ((*((filefunc).zwrite_file))((filefunc).opaque,filestream,buf,size))
64     #define ZTELL(filefunc,filestream) ((*((filefunc).ztell_file))((filefunc).opaque,filestream))
65     #define ZSEEK(filefunc,filestream,pos,mode) ((*((filefunc).zseek_file))((filefunc).opaque,filestream,pos,mode))
66     #define ZCLOSE(filefunc,filestream) ((*((filefunc).zclose_file))((filefunc).opaque,filestream))
67     #define ZERROR(filefunc,filestream) ((*((filefunc).zerror_file))((filefunc).opaque,filestream))
68    
69    
70     #ifdef __cplusplus
71     }
72     #endif
73    
74     #endif
75