source: Vago/zlib-1.2.8/as400/zlib.inc@ 1069

Last change on this file since 1069 was 1049, checked in by s10k, 8 years ago
File size: 27.2 KB
Line 
1 * ZLIB.INC - Interface to the general purpose compression library
2 *
3 * ILE RPG400 version by Patrick Monnerat, DATASPHERE.
4 * Version 1.2.8
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.8'
26 D ZLIB_VERNUM C X'1280'
27 D ZLIB_VER_MAJOR C 1
28 D ZLIB_VER_MINOR C 2
29 D ZLIB_VER_REVISION...
30 D C 8
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 *
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 *
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
Note: See TracBrowser for help on using the repository browser.