1 | * ZLIB.INC - Interface to the general purpose compression library |
---|
2 | * |
---|
3 | * ILE RPG400 version by Patrick Monnerat, DATASPHERE. |
---|
4 | * Version 1.2.3 |
---|
5 | * |
---|
6 | * |
---|
7 | * WARNING: |
---|
8 | * Procedures inflateInit(), inflateInit2(), deflateInit(), |
---|
9 | * deflateInit2() and inflateBackInit() need to be called with |
---|
10 | * two additional arguments: |
---|
11 | * the package version string and the stream control structure. |
---|
12 | * size. This is needed because RPG lacks some macro feature. |
---|
13 | * Call these procedures as: |
---|
14 | * inflateInit(...: ZLIB_VERSION: %size(z_stream)) |
---|
15 | * |
---|
16 | /if not defined(ZLIB_H_) |
---|
17 | /define ZLIB_H_ |
---|
18 | * |
---|
19 | ************************************************************************** |
---|
20 | * Constants |
---|
21 | ************************************************************************** |
---|
22 | * |
---|
23 | * Versioning information. |
---|
24 | * |
---|
25 | D ZLIB_VERSION C '1.2.3' |
---|
26 | D ZLIB_VERNUM C X'1230' |
---|
27 | * |
---|
28 | * Other equates. |
---|
29 | * |
---|
30 | D Z_NO_FLUSH C 0 |
---|
31 | D Z_SYNC_FLUSH C 2 |
---|
32 | D Z_FULL_FLUSH C 3 |
---|
33 | D Z_FINISH C 4 |
---|
34 | D Z_BLOCK C 5 |
---|
35 | * |
---|
36 | D Z_OK C 0 |
---|
37 | D Z_STREAM_END C 1 |
---|
38 | D Z_NEED_DICT C 2 |
---|
39 | D Z_ERRNO C -1 |
---|
40 | D Z_STREAM_ERROR C -2 |
---|
41 | D Z_DATA_ERROR C -3 |
---|
42 | D Z_MEM_ERROR C -4 |
---|
43 | D Z_BUF_ERROR C -5 |
---|
44 | DZ_VERSION_ERROR C -6 |
---|
45 | * |
---|
46 | D Z_NO_COMPRESSION... |
---|
47 | D C 0 |
---|
48 | D Z_BEST_SPEED C 1 |
---|
49 | D Z_BEST_COMPRESSION... |
---|
50 | D C 9 |
---|
51 | D Z_DEFAULT_COMPRESSION... |
---|
52 | D C -1 |
---|
53 | * |
---|
54 | D Z_FILTERED C 1 |
---|
55 | D Z_HUFFMAN_ONLY C 2 |
---|
56 | D Z_RLE C 3 |
---|
57 | D Z_DEFAULT_STRATEGY... |
---|
58 | D C 0 |
---|
59 | * |
---|
60 | D Z_BINARY C 0 |
---|
61 | D Z_ASCII C 1 |
---|
62 | D Z_UNKNOWN C 2 |
---|
63 | * |
---|
64 | D Z_DEFLATED C 8 |
---|
65 | * |
---|
66 | D Z_NULL C 0 |
---|
67 | * |
---|
68 | ************************************************************************** |
---|
69 | * Types |
---|
70 | ************************************************************************** |
---|
71 | * |
---|
72 | D z_streamp S * Stream struct ptr |
---|
73 | D gzFile S * File pointer |
---|
74 | D z_off_t S 10i 0 Stream offsets |
---|
75 | * |
---|
76 | ************************************************************************** |
---|
77 | * Structures |
---|
78 | ************************************************************************** |
---|
79 | * |
---|
80 | * The GZIP encode/decode stream support structure. |
---|
81 | * |
---|
82 | D z_stream DS align based(z_streamp) |
---|
83 | D zs_next_in * Next input byte |
---|
84 | D zs_avail_in 10U 0 Byte cnt at next_in |
---|
85 | D zs_total_in 10U 0 Total bytes read |
---|
86 | D zs_next_out * Output buffer ptr |
---|
87 | D zs_avail_out 10U 0 Room left @ next_out |
---|
88 | D zs_total_out 10U 0 Total bytes written |
---|
89 | D zs_msg * Last errmsg or null |
---|
90 | D zs_state * Internal state |
---|
91 | D zs_zalloc * procptr Int. state allocator |
---|
92 | D zs_free * procptr Int. state dealloc. |
---|
93 | D zs_opaque * Private alloc. data |
---|
94 | D zs_data_type 10i 0 ASC/BIN best guess |
---|
95 | D zs_adler 10u 0 Uncompr. adler32 val |
---|
96 | D 10U 0 Reserved |
---|
97 | D 10U 0 Ptr. alignment |
---|
98 | * |
---|
99 | ************************************************************************** |
---|
100 | * Utility function prototypes |
---|
101 | ************************************************************************** |
---|
102 | * |
---|
103 | D compress PR 10I 0 extproc('compress') |
---|
104 | D dest 32767 options(*varsize) Destination buffer |
---|
105 | D destLen 10U 0 Destination length |
---|
106 | D source 32767 const options(*varsize) Source buffer |
---|
107 | D sourceLen 10u 0 value Source length |
---|
108 | * |
---|
109 | D compress2 PR 10I 0 extproc('compress2') |
---|
110 | D dest 32767 options(*varsize) Destination buffer |
---|
111 | D destLen 10U 0 Destination length |
---|
112 | D source 32767 const options(*varsize) Source buffer |
---|
113 | D sourceLen 10U 0 value Source length |
---|
114 | D level 10I 0 value Compression level |
---|
115 | * |
---|
116 | D compressBound PR 10U 0 extproc('compressBound') |
---|
117 | D sourceLen 10U 0 value |
---|
118 | * |
---|
119 | D uncompress PR 10I 0 extproc('uncompress') |
---|
120 | D dest 32767 options(*varsize) Destination buffer |
---|
121 | D destLen 10U 0 Destination length |
---|
122 | D source 32767 const options(*varsize) Source buffer |
---|
123 | D sourceLen 10U 0 value Source length |
---|
124 | * |
---|
125 | D gzopen PR extproc('gzopen') |
---|
126 | D like(gzFile) |
---|
127 | D path * value options(*string) File pathname |
---|
128 | D mode * value options(*string) Open mode |
---|
129 | * |
---|
130 | D gzdopen PR extproc('gzdopen') |
---|
131 | D like(gzFile) |
---|
132 | D fd 10i 0 value File descriptor |
---|
133 | D mode * value options(*string) Open mode |
---|
134 | * |
---|
135 | D gzsetparams PR 10I 0 extproc('gzsetparams') |
---|
136 | D file value like(gzFile) File pointer |
---|
137 | D level 10I 0 value |
---|
138 | D strategy 10i 0 value |
---|
139 | * |
---|
140 | D gzread PR 10I 0 extproc('gzread') |
---|
141 | D file value like(gzFile) File pointer |
---|
142 | D buf 32767 options(*varsize) Buffer |
---|
143 | D len 10u 0 value Buffer length |
---|
144 | * |
---|
145 | D gzwrite PR 10I 0 extproc('gzwrite') |
---|
146 | D file value like(gzFile) File pointer |
---|
147 | D buf 32767 const options(*varsize) Buffer |
---|
148 | D len 10u 0 value Buffer length |
---|
149 | * |
---|
150 | D gzputs PR 10I 0 extproc('gzputs') |
---|
151 | D file value like(gzFile) File pointer |
---|
152 | D s * value options(*string) String to output |
---|
153 | * |
---|
154 | D gzgets PR * extproc('gzgets') |
---|
155 | D file value like(gzFile) File pointer |
---|
156 | D buf 32767 options(*varsize) Read buffer |
---|
157 | D len 10i 0 value Buffer length |
---|
158 | * |
---|
159 | D gzflush PR 10i 0 extproc('gzflush') |
---|
160 | D file value like(gzFile) File pointer |
---|
161 | D flush 10I 0 value Type of flush |
---|
162 | * |
---|
163 | D gzseek PR extproc('gzseek') |
---|
164 | D like(z_off_t) |
---|
165 | D file value like(gzFile) File pointer |
---|
166 | D offset value like(z_off_t) Offset |
---|
167 | D whence 10i 0 value Origin |
---|
168 | * |
---|
169 | D gzrewind PR 10i 0 extproc('gzrewind') |
---|
170 | D file value like(gzFile) File pointer |
---|
171 | * |
---|
172 | D gztell PR extproc('gztell') |
---|
173 | D like(z_off_t) |
---|
174 | D file value like(gzFile) File pointer |
---|
175 | * |
---|
176 | D gzeof PR 10i 0 extproc('gzeof') |
---|
177 | D file value like(gzFile) File pointer |
---|
178 | * |
---|
179 | D gzclose PR 10i 0 extproc('gzclose') |
---|
180 | D file value like(gzFile) File pointer |
---|
181 | * |
---|
182 | D gzerror PR * extproc('gzerror') Error string |
---|
183 | D file value like(gzFile) File pointer |
---|
184 | D errnum 10I 0 Error code |
---|
185 | * |
---|
186 | D gzclearerr PR extproc('gzclearerr') |
---|
187 | D file value like(gzFile) File pointer |
---|
188 | * |
---|
189 | ************************************************************************** |
---|
190 | * Basic function prototypes |
---|
191 | ************************************************************************** |
---|
192 | * |
---|
193 | D zlibVersion PR * extproc('zlibVersion') Version string |
---|
194 | * |
---|
195 | D deflateInit PR 10I 0 extproc('deflateInit_') Init. compression |
---|
196 | D strm like(z_stream) Compression stream |
---|
197 | D level 10I 0 value Compression level |
---|
198 | D version * value options(*string) Version string |
---|
199 | D stream_size 10i 0 value Stream struct. size |
---|
200 | * |
---|
201 | D deflate PR 10I 0 extproc('deflate') Compress data |
---|
202 | D strm like(z_stream) Compression stream |
---|
203 | D flush 10I 0 value Flush type required |
---|
204 | * |
---|
205 | D deflateEnd PR 10I 0 extproc('deflateEnd') Termin. compression |
---|
206 | D strm like(z_stream) Compression stream |
---|
207 | * |
---|
208 | D inflateInit PR 10I 0 extproc('inflateInit_') Init. expansion |
---|
209 | D strm like(z_stream) Expansion stream |
---|
210 | D version * value options(*string) Version string |
---|
211 | D stream_size 10i 0 value Stream struct. size |
---|
212 | * |
---|
213 | D inflate PR 10I 0 extproc('inflate') Expand data |
---|
214 | D strm like(z_stream) Expansion stream |
---|
215 | D flush 10I 0 value Flush type required |
---|
216 | * |
---|
217 | D inflateEnd PR 10I 0 extproc('inflateEnd') Termin. expansion |
---|
218 | D strm like(z_stream) Expansion stream |
---|
219 | * |
---|
220 | ************************************************************************** |
---|
221 | * Advanced function prototypes |
---|
222 | ************************************************************************** |
---|
223 | * |
---|
224 | D deflateInit2 PR 10I 0 extproc('deflateInit2_') Init. compression |
---|
225 | D strm like(z_stream) Compression stream |
---|
226 | D level 10I 0 value Compression level |
---|
227 | D method 10I 0 value Compression method |
---|
228 | D windowBits 10I 0 value log2(window size) |
---|
229 | D memLevel 10I 0 value Mem/cmpress tradeoff |
---|
230 | D strategy 10I 0 value Compression stategy |
---|
231 | D version * value options(*string) Version string |
---|
232 | D stream_size 10i 0 value Stream struct. size |
---|
233 | * |
---|
234 | D deflateSetDictionary... |
---|
235 | D PR 10I 0 extproc('deflateSetDictionary') Init. dictionary |
---|
236 | D strm like(z_stream) Compression stream |
---|
237 | D dictionary 32767 const options(*varsize) Dictionary bytes |
---|
238 | D dictLength 10U 0 value Dictionary length |
---|
239 | * |
---|
240 | D deflateCopy PR 10I 0 extproc('deflateCopy') Compress strm 2 strm |
---|
241 | D dest like(z_stream) Destination stream |
---|
242 | D source like(z_stream) Source stream |
---|
243 | * |
---|
244 | D deflateReset PR 10I 0 extproc('deflateReset') End and init. stream |
---|
245 | D strm like(z_stream) Compression stream |
---|
246 | * |
---|
247 | D deflateParams PR 10I 0 extproc('deflateParams') Change level & strat |
---|
248 | D strm like(z_stream) Compression stream |
---|
249 | D level 10I 0 value Compression level |
---|
250 | D strategy 10I 0 value Compression stategy |
---|
251 | * |
---|
252 | D deflateBound PR 10U 0 extproc('deflateBound') Change level & strat |
---|
253 | D strm like(z_stream) Compression stream |
---|
254 | D sourcelen 10U 0 value Compression level |
---|
255 | * |
---|
256 | D deflatePrime PR 10I 0 extproc('deflatePrime') Change level & strat |
---|
257 | D strm like(z_stream) Compression stream |
---|
258 | D bits 10I 0 value Number of bits to insert |
---|
259 | D value 10I 0 value Bits to insert |
---|
260 | * |
---|
261 | D inflateInit2 PR 10I 0 extproc('inflateInit2_') Init. expansion |
---|
262 | D strm like(z_stream) Expansion stream |
---|
263 | D windowBits 10I 0 value log2(window size) |
---|
264 | D version * value options(*string) Version string |
---|
265 | D stream_size 10i 0 value Stream struct. size |
---|
266 | * |
---|
267 | D inflateSetDictionary... |
---|
268 | D PR 10I 0 extproc('inflateSetDictionary') Init. dictionary |
---|
269 | D strm like(z_stream) Expansion stream |
---|
270 | D dictionary 32767 const options(*varsize) Dictionary bytes |
---|
271 | D dictLength 10U 0 value Dictionary length |
---|
272 | * |
---|
273 | D inflateSync PR 10I 0 extproc('inflateSync') Sync. expansion |
---|
274 | D strm like(z_stream) Expansion stream |
---|
275 | * |
---|
276 | D inflateCopy PR 10I 0 extproc('inflateCopy') |
---|
277 | D dest like(z_stream) Destination stream |
---|
278 | D source like(z_stream) Source stream |
---|
279 | * |
---|
280 | D inflateReset PR 10I 0 extproc('inflateReset') End and init. stream |
---|
281 | D strm like(z_stream) Expansion stream |
---|
282 | * |
---|
283 | D inflateBackInit... |
---|
284 | D PR 10I 0 extproc('inflateBackInit_') |
---|
285 | D strm like(z_stream) Expansion stream |
---|
286 | D windowBits 10I 0 value Log2(buffer size) |
---|
287 | D window 32767 options(*varsize) Buffer |
---|
288 | D version * value options(*string) Version string |
---|
289 | D stream_size 10i 0 value Stream struct. size |
---|
290 | * |
---|
291 | D inflateBack PR 10I 0 extproc('inflateBack') |
---|
292 | D strm like(z_stream) Expansion stream |
---|
293 | D in * value procptr Input function |
---|
294 | D in_desc * value Input descriptor |
---|
295 | D out * value procptr Output function |
---|
296 | D out_desc * value Output descriptor |
---|
297 | * |
---|
298 | D inflateBackEnd PR 10I 0 extproc('inflateBackEnd') |
---|
299 | D strm like(z_stream) Expansion stream |
---|
300 | * |
---|
301 | D zlibCompileFlags... |
---|
302 | D PR 10U 0 extproc('zlibCompileFlags') |
---|
303 | * |
---|
304 | ************************************************************************** |
---|
305 | * Checksum function prototypes |
---|
306 | ************************************************************************** |
---|
307 | * |
---|
308 | D adler32 PR 10U 0 extproc('adler32') New checksum |
---|
309 | D adler 10U 0 value Old checksum |
---|
310 | D buf 32767 const options(*varsize) Bytes to accumulate |
---|
311 | D len 10U 0 value Buffer length |
---|
312 | * |
---|
313 | D crc32 PR 10U 0 extproc('crc32') New checksum |
---|
314 | D crc 10U 0 value Old checksum |
---|
315 | D buf 32767 const options(*varsize) Bytes to accumulate |
---|
316 | D len 10U 0 value Buffer length |
---|
317 | * |
---|
318 | ************************************************************************** |
---|
319 | * Miscellaneous function prototypes |
---|
320 | ************************************************************************** |
---|
321 | * |
---|
322 | D zError PR * extproc('zError') Error string |
---|
323 | D err 10I 0 value Error code |
---|
324 | * |
---|
325 | D inflateSyncPoint... |
---|
326 | D PR 10I 0 extproc('inflateSyncPoint') |
---|
327 | D strm like(z_stream) Expansion stream |
---|
328 | * |
---|
329 | D get_crc_table PR * extproc('get_crc_table') Ptr to ulongs |
---|
330 | * |
---|
331 | /endif |
---|