Commit | Line | Data |
---|---|---|
5ca28f79 L |
1 | * ZLIB.INC - Interface to the general purpose compression library |
2 | * | |
3 | * ILE RPG400 version by Patrick Monnerat, DATASPHERE. | |
da09a436 | 4 | * Version 1.2.8 |
5ca28f79 L |
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 | * | |
da09a436 JB |
25 | D ZLIB_VERSION C '1.2.8' |
26 | D ZLIB_VERNUM C X'1280' | |
5ca28f79 L |
27 | D ZLIB_VER_MAJOR C 1 |
28 | D ZLIB_VER_MINOR C 2 | |
29 | D ZLIB_VER_REVISION... | |
da09a436 | 30 | D C 8 |
5ca28f79 L |
31 | D ZLIB_VER_SUBREVISION... |
32 | D C 0 | |
33 | * | |
34 | * Other equates. | |
35 | * | |
36 | D Z_NO_FLUSH C 0 | |
37 | D Z_PARTIAL_FLUSH... | |
38 | D C 1 | |
39 | D Z_SYNC_FLUSH C 2 | |
40 | D Z_FULL_FLUSH C 3 | |
41 | D Z_FINISH C 4 | |
42 | D Z_BLOCK C 5 | |
43 | D Z_TREES C 6 | |
44 | * | |
45 | D Z_OK C 0 | |
46 | D Z_STREAM_END C 1 | |
47 | D Z_NEED_DICT C 2 | |
48 | D Z_ERRNO C -1 | |
49 | D Z_STREAM_ERROR C -2 | |
50 | D Z_DATA_ERROR C -3 | |
51 | D Z_MEM_ERROR C -4 | |
52 | D Z_BUF_ERROR C -5 | |
53 | DZ_VERSION_ERROR C -6 | |
54 | * | |
55 | D Z_NO_COMPRESSION... | |
56 | D C 0 | |
57 | D Z_BEST_SPEED C 1 | |
58 | D Z_BEST_COMPRESSION... | |
59 | D C 9 | |
60 | D Z_DEFAULT_COMPRESSION... | |
61 | D C -1 | |
62 | * | |
63 | D Z_FILTERED C 1 | |
64 | D Z_HUFFMAN_ONLY C 2 | |
65 | D Z_RLE C 3 | |
66 | D Z_DEFAULT_STRATEGY... | |
67 | D C 0 | |
68 | * | |
69 | D Z_BINARY C 0 | |
70 | D Z_ASCII C 1 | |
71 | D Z_UNKNOWN C 2 | |
72 | * | |
73 | D Z_DEFLATED C 8 | |
74 | * | |
75 | D Z_NULL C 0 | |
76 | * | |
77 | ************************************************************************** | |
78 | * Types | |
79 | ************************************************************************** | |
80 | * | |
81 | D z_streamp S * Stream struct ptr | |
82 | D gzFile S * File pointer | |
83 | D z_off_t S 10i 0 Stream offsets | |
84 | D z_off64_t S 20i 0 Stream offsets | |
85 | * | |
86 | ************************************************************************** | |
87 | * Structures | |
88 | ************************************************************************** | |
89 | * | |
90 | * The GZIP encode/decode stream support structure. | |
91 | * | |
92 | D z_stream DS align based(z_streamp) | |
93 | D zs_next_in * Next input byte | |
94 | D zs_avail_in 10U 0 Byte cnt at next_in | |
95 | D zs_total_in 10U 0 Total bytes read | |
96 | D zs_next_out * Output buffer ptr | |
97 | D zs_avail_out 10U 0 Room left @ next_out | |
98 | D zs_total_out 10U 0 Total bytes written | |
99 | D zs_msg * Last errmsg or null | |
100 | D zs_state * Internal state | |
101 | D zs_zalloc * procptr Int. state allocator | |
102 | D zs_free * procptr Int. state dealloc. | |
103 | D zs_opaque * Private alloc. data | |
104 | D zs_data_type 10i 0 ASC/BIN best guess | |
105 | D zs_adler 10u 0 Uncompr. adler32 val | |
106 | D 10U 0 Reserved | |
107 | D 10U 0 Ptr. alignment | |
108 | * | |
109 | ************************************************************************** | |
110 | * Utility function prototypes | |
111 | ************************************************************************** | |
112 | * | |
113 | D compress PR 10I 0 extproc('compress') | |
114 | D dest 65535 options(*varsize) Destination buffer | |
115 | D destLen 10U 0 Destination length | |
116 | D source 65535 const options(*varsize) Source buffer | |
117 | D sourceLen 10u 0 value Source length | |
118 | * | |
119 | D compress2 PR 10I 0 extproc('compress2') | |
120 | D dest 65535 options(*varsize) Destination buffer | |
121 | D destLen 10U 0 Destination length | |
122 | D source 65535 const options(*varsize) Source buffer | |
123 | D sourceLen 10U 0 value Source length | |
124 | D level 10I 0 value Compression level | |
125 | * | |
126 | D compressBound PR 10U 0 extproc('compressBound') | |
127 | D sourceLen 10U 0 value | |
128 | * | |
129 | D uncompress PR 10I 0 extproc('uncompress') | |
130 | D dest 65535 options(*varsize) Destination buffer | |
131 | D destLen 10U 0 Destination length | |
132 | D source 65535 const options(*varsize) Source buffer | |
133 | D sourceLen 10U 0 value Source length | |
134 | * | |
135 | /if not defined(LARGE_FILES) | |
136 | D gzopen PR extproc('gzopen') | |
137 | D like(gzFile) | |
138 | D path * value options(*string) File pathname | |
139 | D mode * value options(*string) Open mode | |
140 | /else | |
141 | D gzopen PR extproc('gzopen64') | |
142 | D like(gzFile) | |
143 | D path * value options(*string) File pathname | |
144 | D mode * value options(*string) Open mode | |
145 | * | |
146 | D gzopen64 PR extproc('gzopen64') | |
147 | D like(gzFile) | |
148 | D path * value options(*string) File pathname | |
149 | D mode * value options(*string) Open mode | |
150 | /endif | |
151 | * | |
152 | D gzdopen PR extproc('gzdopen') | |
153 | D like(gzFile) | |
154 | D fd 10I 0 value File descriptor | |
155 | D mode * value options(*string) Open mode | |
156 | * | |
157 | D gzbuffer PR 10I 0 extproc('gzbuffer') | |
158 | D file value like(gzFile) File pointer | |
159 | D size 10U 0 value | |
160 | * | |
161 | D gzsetparams PR 10I 0 extproc('gzsetparams') | |
162 | D file value like(gzFile) File pointer | |
163 | D level 10I 0 value | |
164 | D strategy 10I 0 value | |
165 | * | |
166 | D gzread PR 10I 0 extproc('gzread') | |
167 | D file value like(gzFile) File pointer | |
168 | D buf 65535 options(*varsize) Buffer | |
169 | D len 10u 0 value Buffer length | |
170 | * | |
171 | D gzwrite PR 10I 0 extproc('gzwrite') | |
172 | D file value like(gzFile) File pointer | |
173 | D buf 65535 const options(*varsize) Buffer | |
174 | D len 10u 0 value Buffer length | |
175 | * | |
176 | D gzputs PR 10I 0 extproc('gzputs') | |
177 | D file value like(gzFile) File pointer | |
178 | D s * value options(*string) String to output | |
179 | * | |
180 | D gzgets PR * extproc('gzgets') | |
181 | D file value like(gzFile) File pointer | |
182 | D buf 65535 options(*varsize) Read buffer | |
183 | D len 10i 0 value Buffer length | |
184 | * | |
185 | D gzputc PR 10i 0 extproc('gzputc') | |
186 | D file value like(gzFile) File pointer | |
187 | D c 10I 0 value Character to write | |
188 | * | |
189 | D gzgetc PR 10i 0 extproc('gzgetc') | |
190 | D file value like(gzFile) File pointer | |
191 | * | |
192 | D gzgetc_ PR 10i 0 extproc('gzgetc_') | |
193 | D file value like(gzFile) File pointer | |
194 | * | |
195 | D gzungetc PR 10i 0 extproc('gzungetc') | |
196 | D c 10I 0 value Character to push | |
197 | D file value like(gzFile) File pointer | |
198 | * | |
199 | D gzflush PR 10i 0 extproc('gzflush') | |
200 | D file value like(gzFile) File pointer | |
201 | D flush 10I 0 value Type of flush | |
202 | * | |
203 | /if not defined(LARGE_FILES) | |
204 | D gzseek PR extproc('gzseek') | |
205 | D like(z_off_t) | |
206 | D file value like(gzFile) File pointer | |
207 | D offset value like(z_off_t) Offset | |
208 | D whence 10i 0 value Origin | |
209 | /else | |
210 | D gzseek PR extproc('gzseek64') | |
211 | D like(z_off_t) | |
212 | D file value like(gzFile) File pointer | |
213 | D offset value like(z_off_t) Offset | |
214 | D whence 10i 0 value Origin | |
215 | * | |
216 | D gzseek64 PR extproc('gzseek64') | |
217 | D like(z_off64_t) | |
218 | D file value like(gzFile) File pointer | |
219 | D offset value like(z_off64_t) Offset | |
220 | D whence 10i 0 value Origin | |
221 | /endif | |
222 | * | |
223 | D gzrewind PR 10i 0 extproc('gzrewind') | |
224 | D file value like(gzFile) File pointer | |
225 | * | |
226 | /if not defined(LARGE_FILES) | |
227 | D gztell PR extproc('gztell') | |
228 | D like(z_off_t) | |
229 | D file value like(gzFile) File pointer | |
230 | /else | |
231 | D gztell PR extproc('gztell64') | |
232 | D like(z_off_t) | |
233 | D file value like(gzFile) File pointer | |
234 | * | |
235 | D gztell64 PR extproc('gztell64') | |
236 | D like(z_off64_t) | |
237 | D file value like(gzFile) File pointer | |
238 | /endif | |
239 | * | |
240 | /if not defined(LARGE_FILES) | |
241 | D gzoffset PR extproc('gzoffset') | |
242 | D like(z_off_t) | |
243 | D file value like(gzFile) File pointer | |
244 | /else | |
245 | D gzoffset PR extproc('gzoffset64') | |
246 | D like(z_off_t) | |
247 | D file value like(gzFile) File pointer | |
248 | * | |
249 | D gzoffset64 PR extproc('gzoffset64') | |
250 | D like(z_off64_t) | |
251 | D file value like(gzFile) File pointer | |
252 | /endif | |
253 | * | |
254 | D gzeof PR 10i 0 extproc('gzeof') | |
255 | D file value like(gzFile) File pointer | |
256 | * | |
257 | D gzclose_r PR 10i 0 extproc('gzclose_r') | |
258 | D file value like(gzFile) File pointer | |
259 | * | |
260 | D gzclose_w PR 10i 0 extproc('gzclose_w') | |
261 | D file value like(gzFile) File pointer | |
262 | * | |
263 | D gzclose PR 10i 0 extproc('gzclose') | |
264 | D file value like(gzFile) File pointer | |
265 | * | |
266 | D gzerror PR * extproc('gzerror') Error string | |
267 | D file value like(gzFile) File pointer | |
268 | D errnum 10I 0 Error code | |
269 | * | |
270 | D gzclearerr PR extproc('gzclearerr') | |
271 | D file value like(gzFile) File pointer | |
272 | * | |
273 | ************************************************************************** | |
274 | * Basic function prototypes | |
275 | ************************************************************************** | |
276 | * | |
277 | D zlibVersion PR * extproc('zlibVersion') Version string | |
278 | * | |
279 | D deflateInit PR 10I 0 extproc('deflateInit_') Init. compression | |
280 | D strm like(z_stream) Compression stream | |
281 | D level 10I 0 value Compression level | |
282 | D version * value options(*string) Version string | |
283 | D stream_size 10i 0 value Stream struct. size | |
284 | * | |
285 | D deflate PR 10I 0 extproc('deflate') Compress data | |
286 | D strm like(z_stream) Compression stream | |
287 | D flush 10I 0 value Flush type required | |
288 | * | |
289 | D deflateEnd PR 10I 0 extproc('deflateEnd') Termin. compression | |
290 | D strm like(z_stream) Compression stream | |
291 | * | |
292 | D inflateInit PR 10I 0 extproc('inflateInit_') Init. expansion | |
293 | D strm like(z_stream) Expansion stream | |
294 | D version * value options(*string) Version string | |
295 | D stream_size 10i 0 value Stream struct. size | |
296 | * | |
297 | D inflate PR 10I 0 extproc('inflate') Expand data | |
298 | D strm like(z_stream) Expansion stream | |
299 | D flush 10I 0 value Flush type required | |
300 | * | |
301 | D inflateEnd PR 10I 0 extproc('inflateEnd') Termin. expansion | |
302 | D strm like(z_stream) Expansion stream | |
303 | * | |
304 | ************************************************************************** | |
305 | * Advanced function prototypes | |
306 | ************************************************************************** | |
307 | * | |
308 | D deflateInit2 PR 10I 0 extproc('deflateInit2_') Init. compression | |
309 | D strm like(z_stream) Compression stream | |
310 | D level 10I 0 value Compression level | |
311 | D method 10I 0 value Compression method | |
312 | D windowBits 10I 0 value log2(window size) | |
313 | D memLevel 10I 0 value Mem/cmpress tradeoff | |
314 | D strategy 10I 0 value Compression stategy | |
315 | D version * value options(*string) Version string | |
316 | D stream_size 10i 0 value Stream struct. size | |
317 | * | |
318 | D deflateSetDictionary... | |
319 | D PR 10I 0 extproc('deflateSetDictionary') Init. dictionary | |
320 | D strm like(z_stream) Compression stream | |
321 | D dictionary 65535 const options(*varsize) Dictionary bytes | |
322 | D dictLength 10U 0 value Dictionary length | |
323 | * | |
324 | D deflateCopy PR 10I 0 extproc('deflateCopy') Compress strm 2 strm | |
325 | D dest like(z_stream) Destination stream | |
326 | D source like(z_stream) Source stream | |
327 | * | |
328 | D deflateReset PR 10I 0 extproc('deflateReset') End and init. stream | |
329 | D strm like(z_stream) Compression stream | |
330 | * | |
331 | D deflateParams PR 10I 0 extproc('deflateParams') Change level & strat | |
332 | D strm like(z_stream) Compression stream | |
333 | D level 10I 0 value Compression level | |
334 | D strategy 10I 0 value Compression stategy | |
335 | * | |
336 | D deflateBound PR 10U 0 extproc('deflateBound') Change level & strat | |
337 | D strm like(z_stream) Compression stream | |
338 | D sourcelen 10U 0 value Compression level | |
339 | * | |
340 | D deflatePending PR 10I 0 extproc('deflatePending') Change level & strat | |
341 | D strm like(z_stream) Compression stream | |
342 | D pending 10U 0 Pending bytes | |
343 | D bits 10I 0 Pending bits | |
344 | * | |
345 | D deflatePrime PR 10I 0 extproc('deflatePrime') Change level & strat | |
346 | D strm like(z_stream) Compression stream | |
347 | D bits 10I 0 value # of bits to insert | |
348 | D value 10I 0 value Bits to insert | |
349 | * | |
350 | D inflateInit2 PR 10I 0 extproc('inflateInit2_') Init. expansion | |
351 | D strm like(z_stream) Expansion stream | |
352 | D windowBits 10I 0 value log2(window size) | |
353 | D version * value options(*string) Version string | |
354 | D stream_size 10i 0 value Stream struct. size | |
355 | * | |
356 | D inflateSetDictionary... | |
357 | D PR 10I 0 extproc('inflateSetDictionary') Init. dictionary | |
358 | D strm like(z_stream) Expansion stream | |
359 | D dictionary 65535 const options(*varsize) Dictionary bytes | |
360 | D dictLength 10U 0 value Dictionary length | |
361 | * | |
da09a436 JB |
362 | D inflateGetDictionary... |
363 | D PR 10I 0 extproc('inflateGetDictionary') Get dictionary | |
364 | D strm like(z_stream) Expansion stream | |
365 | D dictionary 65535 options(*varsize) Dictionary bytes | |
366 | D dictLength 10U 0 Dictionary length | |
367 | * | |
5ca28f79 L |
368 | D inflateSync PR 10I 0 extproc('inflateSync') Sync. expansion |
369 | D strm like(z_stream) Expansion stream | |
370 | * | |
371 | D inflateCopy PR 10I 0 extproc('inflateCopy') | |
372 | D dest like(z_stream) Destination stream | |
373 | D source like(z_stream) Source stream | |
374 | * | |
375 | D inflateReset PR 10I 0 extproc('inflateReset') End and init. stream | |
376 | D strm like(z_stream) Expansion stream | |
377 | * | |
378 | D inflateReset2 PR 10I 0 extproc('inflateReset2') End and init. stream | |
379 | D strm like(z_stream) Expansion stream | |
380 | D windowBits 10I 0 value Log2(buffer size) | |
381 | * | |
382 | D inflatePrime PR 10I 0 extproc('inflatePrime') Insert bits | |
383 | D strm like(z_stream) Expansion stream | |
384 | D bits 10I 0 value Bit count | |
385 | D value 10I 0 value Bits to insert | |
386 | * | |
387 | D inflateMark PR 10I 0 extproc('inflateMark') Get inflate info | |
388 | D strm like(z_stream) Expansion stream | |
389 | * | |
390 | D inflateBackInit... | |
391 | D PR 10I 0 extproc('inflateBackInit_') | |
392 | D strm like(z_stream) Expansion stream | |
393 | D windowBits 10I 0 value Log2(buffer size) | |
394 | D window 65535 options(*varsize) Buffer | |
395 | D version * value options(*string) Version string | |
396 | D stream_size 10i 0 value Stream struct. size | |
397 | * | |
398 | D inflateBack PR 10I 0 extproc('inflateBack') | |
399 | D strm like(z_stream) Expansion stream | |
400 | D in * value procptr Input function | |
401 | D in_desc * value Input descriptor | |
402 | D out * value procptr Output function | |
403 | D out_desc * value Output descriptor | |
404 | * | |
405 | D inflateBackEnd PR 10I 0 extproc('inflateBackEnd') | |
406 | D strm like(z_stream) Expansion stream | |
407 | * | |
408 | D zlibCompileFlags... | |
409 | D PR 10U 0 extproc('zlibCompileFlags') | |
410 | * | |
411 | ************************************************************************** | |
412 | * Checksum function prototypes | |
413 | ************************************************************************** | |
414 | * | |
415 | D adler32 PR 10U 0 extproc('adler32') New checksum | |
416 | D adler 10U 0 value Old checksum | |
417 | D buf 65535 const options(*varsize) Bytes to accumulate | |
418 | D len 10U 0 value Buffer length | |
419 | * | |
420 | D crc32 PR 10U 0 extproc('crc32') New checksum | |
421 | D crc 10U 0 value Old checksum | |
422 | D buf 65535 const options(*varsize) Bytes to accumulate | |
423 | D len 10U 0 value Buffer length | |
424 | * | |
425 | ************************************************************************** | |
426 | * Miscellaneous function prototypes | |
427 | ************************************************************************** | |
428 | * | |
429 | D zError PR * extproc('zError') Error string | |
430 | D err 10I 0 value Error code | |
431 | * | |
432 | D inflateSyncPoint... | |
433 | D PR 10I 0 extproc('inflateSyncPoint') | |
434 | D strm like(z_stream) Expansion stream | |
435 | * | |
436 | D get_crc_table PR * extproc('get_crc_table') Ptr to ulongs | |
437 | * | |
438 | D inflateUndermine... | |
439 | D PR 10I 0 extproc('inflateUndermine') | |
440 | D strm like(z_stream) Expansion stream | |
441 | D arg 10I 0 value Error code | |
442 | * | |
443 | D inflateResetKeep... | |
444 | D PR 10I 0 extproc('inflateResetKeep') End and init. stream | |
445 | D strm like(z_stream) Expansion stream | |
446 | * | |
447 | D deflateResetKeep... | |
448 | D PR 10I 0 extproc('deflateResetKeep') End and init. stream | |
449 | D strm like(z_stream) Expansion stream | |
450 | * | |
451 | /endif |