acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
aaa_ioapi.h
1/* ioapi.h -- IO axis function header for compress/uncompress .zip
2 files using zlib + zip or unzip API
3
4 Version 1.00, September 10th, 2003
5
6 Copyright (C) 1998-2003 Gilles Vollant
7*/
8
9#ifndef _ZLIBIOAPI_H
10#define _ZLIBIOAPI_H
11
12
13// dnf install zlib-devel
14#include "zlib.h"
15
16
17#define ZLIB_FILEFUNC_SEEK_CUR (1)
18#define ZLIB_FILEFUNC_SEEK_END (2)
19#define ZLIB_FILEFUNC_SEEK_SET (0)
20
21#define ZLIB_FILEFUNC_MODE_READ (1)
22#define ZLIB_FILEFUNC_MODE_WRITE (2)
23#define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3)
24
25#define ZLIB_FILEFUNC_MODE_EXISTING (4)
26#define ZLIB_FILEFUNC_MODE_CREATE (8)
27
28
29#ifndef ZCALLBACK
30
31#if (defined(WIN32) || defined (WINDOWS) || defined (WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK)
32#define ZCALLBACK CALLBACK
33#else
34#define ZCALLBACK
35#endif
36#endif
37
38#ifdef __cplusplus
39extern "C" {
40#endif
41
42typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const_char_pointer pszFilename, ::i32 mode));
43typedef uptr (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void * buf, uptr size));
44typedef uptr (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void * buf, uptr size));
45typedef long (ZCALLBACK *tell_file_func) OF((voidpf opaque, voidpf stream));
46typedef long (ZCALLBACK *seek_file_func) OF((voidpf opaque, voidpf stream, uptr offset, ::i32 origin));
47typedef ::i32 (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream));
48typedef ::i32 (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream));
49
50typedef struct zlib_filefunc_def_s
51{
52 open_file_func zopen_file;
53 read_file_func zread_file;
54 write_file_func zwrite_file;
55 tell_file_func ztell_file;
56 seek_file_func zseek_file;
57 close_file_func zclose_file;
58 testerror_file_func zerror_file;
59 voidpf opaque;
60} zlib_filefunc_def;
61
62
63
64void fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def));
65
66#define ZREAD(filefunc,filestream,buf, size) ((*((filefunc).zread_file))((filefunc).opaque,filestream,buf, size))
67#define ZWRITE(filefunc,filestream,buf, size) ((*((filefunc).zwrite_file))((filefunc).opaque,filestream,buf, size))
68#define ZTELL(filefunc,filestream) ((*((filefunc).ztell_file))((filefunc).opaque,filestream))
69#define ZSEEK(filefunc,filestream,pos,mode) ((*((filefunc).zseek_file))((filefunc).opaque,filestream,pos,mode))
70#define ZCLOSE(filefunc,filestream) ((*((filefunc).zclose_file))((filefunc).opaque,filestream))
71#define ZERROR(filefunc,filestream) ((*((filefunc).zerror_file))((filefunc).opaque,filestream))
72
73
74#ifdef __cplusplus
75}
76#endif
77
78#endif
79
Definition ___serialization_draft.h:42
Definition aaa_ioapi.h:51