summaryrefslogtreecommitdiff
path: root/as400/zlib.inc
diff options
context:
space:
mode:
Diffstat (limited to 'as400/zlib.inc')
-rw-r--r--as400/zlib.inc423
1 files changed, 423 insertions, 0 deletions
diff --git a/as400/zlib.inc b/as400/zlib.inc
new file mode 100644
index 0000000..d492ef3
--- /dev/null
+++ b/as400/zlib.inc
@@ -0,0 +1,423 @@
1 * ZLIB.INC - Interface to the general purpose compression library
2 *
3 * ILE RPG400 version by Patrick Monnerat, DATASPHERE.
4 * Version 1.2.5.1
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.5.1'
26 D ZLIB_VERNUM C X'1251'
27 D ZLIB_VER_MAJOR C 1
28 D ZLIB_VER_MINOR C 2
29 D ZLIB_VER_REVISION...
30 D C 5
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 32767 options(*varsize) Destination buffer
115 D destLen 10U 0 Destination length
116 D source 32767 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 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 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 32767 options(*varsize) Destination buffer
131 D destLen 10U 0 Destination length
132 D source 32767 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 32767 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 32767 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 32767 options(*varsize) Read buffer
183 D len 10i 0 value Buffer length
184 *
185 D gzflush PR 10i 0 extproc('gzflush')
186 D file value like(gzFile) File pointer
187 D flush 10I 0 value Type of flush
188 *
189 /if not defined(LARGE_FILES)
190 D gzseek PR extproc('gzseek')
191 D like(z_off_t)
192 D file value like(gzFile) File pointer
193 D offset value like(z_off_t) Offset
194 D whence 10i 0 value Origin
195 /else
196 D gzseek PR extproc('gzseek64')
197 D like(z_off_t)
198 D file value like(gzFile) File pointer
199 D offset value like(z_off_t) Offset
200 D whence 10i 0 value Origin
201 *
202 D gzseek64 PR extproc('gzseek64')
203 D like(z_off64_t)
204 D file value like(gzFile) File pointer
205 D offset value like(z_off64_t) Offset
206 D whence 10i 0 value Origin
207 /endif
208 *
209 D gzrewind PR 10i 0 extproc('gzrewind')
210 D file value like(gzFile) File pointer
211 *
212 /if not defined(LARGE_FILES)
213 D gztell PR extproc('gztell')
214 D like(z_off_t)
215 D file value like(gzFile) File pointer
216 /else
217 D gztell PR extproc('gztell64')
218 D like(z_off_t)
219 D file value like(gzFile) File pointer
220 *
221 D gztell64 PR extproc('gztell64')
222 D like(z_off64_t)
223 D file value like(gzFile) File pointer
224 /endif
225 *
226 /if not defined(LARGE_FILES)
227 D gzoffset PR extproc('gzoffset')
228 D like(z_off_t)
229 D file value like(gzFile) File pointer
230 /else
231 D gzoffset PR extproc('gzoffset64')
232 D like(z_off_t)
233 D file value like(gzFile) File pointer
234 *
235 D gzoffset64 PR extproc('gzoffset64')
236 D like(z_off64_t)
237 D file value like(gzFile) File pointer
238 /endif
239 *
240 D gzeof PR 10i 0 extproc('gzeof')
241 D file value like(gzFile) File pointer
242 *
243 D gzclose_r PR 10i 0 extproc('gzclose_r')
244 D file value like(gzFile) File pointer
245 *
246 D gzclose_w PR 10i 0 extproc('gzclose_w')
247 D file value like(gzFile) File pointer
248 *
249 D gzclose PR 10i 0 extproc('gzclose')
250 D file value like(gzFile) File pointer
251 *
252 D gzerror PR * extproc('gzerror') Error string
253 D file value like(gzFile) File pointer
254 D errnum 10I 0 Error code
255 *
256 D gzclearerr PR extproc('gzclearerr')
257 D file value like(gzFile) File pointer
258 *
259 **************************************************************************
260 * Basic function prototypes
261 **************************************************************************
262 *
263 D zlibVersion PR * extproc('zlibVersion') Version string
264 *
265 D deflateInit PR 10I 0 extproc('deflateInit_') Init. compression
266 D strm like(z_stream) Compression stream
267 D level 10I 0 value Compression level
268 D version * value options(*string) Version string
269 D stream_size 10i 0 value Stream struct. size
270 *
271 D deflate PR 10I 0 extproc('deflate') Compress data
272 D strm like(z_stream) Compression stream
273 D flush 10I 0 value Flush type required
274 *
275 D deflateEnd PR 10I 0 extproc('deflateEnd') Termin. compression
276 D strm like(z_stream) Compression stream
277 *
278 D inflateInit PR 10I 0 extproc('inflateInit_') Init. expansion
279 D strm like(z_stream) Expansion stream
280 D version * value options(*string) Version string
281 D stream_size 10i 0 value Stream struct. size
282 *
283 D inflate PR 10I 0 extproc('inflate') Expand data
284 D strm like(z_stream) Expansion stream
285 D flush 10I 0 value Flush type required
286 *
287 D inflateEnd PR 10I 0 extproc('inflateEnd') Termin. expansion
288 D strm like(z_stream) Expansion stream
289 *
290 **************************************************************************
291 * Advanced function prototypes
292 **************************************************************************
293 *
294 D deflateInit2 PR 10I 0 extproc('deflateInit2_') Init. compression
295 D strm like(z_stream) Compression stream
296 D level 10I 0 value Compression level
297 D method 10I 0 value Compression method
298 D windowBits 10I 0 value log2(window size)
299 D memLevel 10I 0 value Mem/cmpress tradeoff
300 D strategy 10I 0 value Compression stategy
301 D version * value options(*string) Version string
302 D stream_size 10i 0 value Stream struct. size
303 *
304 D deflateSetDictionary...
305 D PR 10I 0 extproc('deflateSetDictionary') Init. dictionary
306 D strm like(z_stream) Compression stream
307 D dictionary 32767 const options(*varsize) Dictionary bytes
308 D dictLength 10U 0 value Dictionary length
309 *
310 D deflateCopy PR 10I 0 extproc('deflateCopy') Compress strm 2 strm
311 D dest like(z_stream) Destination stream
312 D source like(z_stream) Source stream
313 *
314 D deflateReset PR 10I 0 extproc('deflateReset') End and init. stream
315 D strm like(z_stream) Compression stream
316 *
317 D deflateParams PR 10I 0 extproc('deflateParams') Change level & strat
318 D strm like(z_stream) Compression stream
319 D level 10I 0 value Compression level
320 D strategy 10I 0 value Compression stategy
321 *
322 D deflateBound PR 10U 0 extproc('deflateBound') Change level & strat
323 D strm like(z_stream) Compression stream
324 D sourcelen 10U 0 value Compression level
325 *
326 D deflatePending PR 10I 0 extproc('deflatePending') Change level & strat
327 D strm like(z_stream) Compression stream
328 D pending 10U 0 Pending bytes
329 D bits 10I 0 Pending bits
330 *
331 D deflatePrime PR 10I 0 extproc('deflatePrime') Change level & strat
332 D strm like(z_stream) Compression stream
333 D bits 10I 0 value Number of bits to insert
334 D value 10I 0 value Bits to insert
335 *
336 D inflateInit2 PR 10I 0 extproc('inflateInit2_') Init. expansion
337 D strm like(z_stream) Expansion stream
338 D windowBits 10I 0 value log2(window size)
339 D version * value options(*string) Version string
340 D stream_size 10i 0 value Stream struct. size
341 *
342 D inflateSetDictionary...
343 D PR 10I 0 extproc('inflateSetDictionary') Init. dictionary
344 D strm like(z_stream) Expansion stream
345 D dictionary 32767 const options(*varsize) Dictionary bytes
346 D dictLength 10U 0 value Dictionary length
347 *
348 D inflateSync PR 10I 0 extproc('inflateSync') Sync. expansion
349 D strm like(z_stream) Expansion stream
350 *
351 D inflateCopy PR 10I 0 extproc('inflateCopy')
352 D dest like(z_stream) Destination stream
353 D source like(z_stream) Source stream
354 *
355 D inflateReset PR 10I 0 extproc('inflateReset') End and init. stream
356 D strm like(z_stream) Expansion stream
357 *
358 D inflateReset2 PR 10I 0 extproc('inflateReset2') End and init. stream
359 D strm like(z_stream) Expansion stream
360 D windowBits 10I 0 value Log2(buffer size)
361 *
362 D inflatePrime PR 10I 0 extproc('inflatePrime') Insert bits
363 D strm like(z_stream) Expansion stream
364 D bits 10I 0 value Bit count
365 D value 10I 0 value Bits to insert
366 *
367 D inflateMark PR 10I 0 extproc('inflateMark') Get inflate info
368 D strm like(z_stream) Expansion stream
369 *
370 D inflateBackInit...
371 D PR 10I 0 extproc('inflateBackInit_')
372 D strm like(z_stream) Expansion stream
373 D windowBits 10I 0 value Log2(buffer size)
374 D window 32767 options(*varsize) Buffer
375 D version * value options(*string) Version string
376 D stream_size 10i 0 value Stream struct. size
377 *
378 D inflateBack PR 10I 0 extproc('inflateBack')
379 D strm like(z_stream) Expansion stream
380 D in * value procptr Input function
381 D in_desc * value Input descriptor
382 D out * value procptr Output function
383 D out_desc * value Output descriptor
384 *
385 D inflateBackEnd PR 10I 0 extproc('inflateBackEnd')
386 D strm like(z_stream) Expansion stream
387 *
388 D zlibCompileFlags...
389 D PR 10U 0 extproc('zlibCompileFlags')
390 *
391 **************************************************************************
392 * Checksum function prototypes
393 **************************************************************************
394 *
395 D adler32 PR 10U 0 extproc('adler32') New checksum
396 D adler 10U 0 value Old checksum
397 D buf 32767 const options(*varsize) Bytes to accumulate
398 D len 10U 0 value Buffer length
399 *
400 D crc32 PR 10U 0 extproc('crc32') New checksum
401 D crc 10U 0 value Old checksum
402 D buf 32767 const options(*varsize) Bytes to accumulate
403 D len 10U 0 value Buffer length
404 *
405 **************************************************************************
406 * Miscellaneous function prototypes
407 **************************************************************************
408 *
409 D zError PR * extproc('zError') Error string
410 D err 10I 0 value Error code
411 *
412 D inflateSyncPoint...
413 D PR 10I 0 extproc('inflateSyncPoint')
414 D strm like(z_stream) Expansion stream
415 *
416 D get_crc_table PR * extproc('get_crc_table') Ptr to ulongs
417 *
418 D inflateUndermine...
419 D PR 10I 0 extproc('inflateUndermine')
420 D strm like(z_stream) Expansion stream
421 D arg 10I 0 value Error code
422 *
423 /endif