1275793eaSopenharmony_ci      *  ZLIB.INC - Interface to the general purpose compression library
2275793eaSopenharmony_ci      *
3275793eaSopenharmony_ci      *  ILE RPG400 version by Patrick Monnerat, DATASPHERE.
4275793eaSopenharmony_ci      *  Version 1.3.1
5275793eaSopenharmony_ci      *
6275793eaSopenharmony_ci      *
7275793eaSopenharmony_ci      *  WARNING:
8275793eaSopenharmony_ci      *     Procedures inflateInit(), inflateInit2(), deflateInit(),
9275793eaSopenharmony_ci      *         deflateInit2() and inflateBackInit() need to be called with
10275793eaSopenharmony_ci      *         two additional arguments:
11275793eaSopenharmony_ci      *         the package version string and the stream control structure.
12275793eaSopenharmony_ci      *         size. This is needed because RPG lacks some macro feature.
13275793eaSopenharmony_ci      *         Call these procedures as:
14275793eaSopenharmony_ci      *             inflateInit(...: ZLIB_VERSION: %size(z_stream))
15275793eaSopenharmony_ci      *
16275793eaSopenharmony_ci      /if not defined(ZLIB_H_)
17275793eaSopenharmony_ci      /define ZLIB_H_
18275793eaSopenharmony_ci      *
19275793eaSopenharmony_ci      **************************************************************************
20275793eaSopenharmony_ci      *                               Constants
21275793eaSopenharmony_ci      **************************************************************************
22275793eaSopenharmony_ci      *
23275793eaSopenharmony_ci      *  Versioning information.
24275793eaSopenharmony_ci      *
25275793eaSopenharmony_ci     D ZLIB_VERSION    C                   '1.3.1'
26275793eaSopenharmony_ci     D ZLIB_VERNUM     C                   X'12a0'
27275793eaSopenharmony_ci     D ZLIB_VER_MAJOR  C                   1
28275793eaSopenharmony_ci     D ZLIB_VER_MINOR  C                   3
29275793eaSopenharmony_ci     D ZLIB_VER_REVISION...
30275793eaSopenharmony_ci     D                 C                   1
31275793eaSopenharmony_ci     D ZLIB_VER_SUBREVISION...
32275793eaSopenharmony_ci     D                 C                   0
33275793eaSopenharmony_ci      *
34275793eaSopenharmony_ci      *  Other equates.
35275793eaSopenharmony_ci      *
36275793eaSopenharmony_ci     D Z_NO_FLUSH      C                   0
37275793eaSopenharmony_ci     D Z_PARTIAL_FLUSH...
38275793eaSopenharmony_ci     D                 C                   1
39275793eaSopenharmony_ci     D Z_SYNC_FLUSH    C                   2
40275793eaSopenharmony_ci     D Z_FULL_FLUSH    C                   3
41275793eaSopenharmony_ci     D Z_FINISH        C                   4
42275793eaSopenharmony_ci     D Z_BLOCK         C                   5
43275793eaSopenharmony_ci     D Z_TREES         C                   6
44275793eaSopenharmony_ci      *
45275793eaSopenharmony_ci     D Z_OK            C                   0
46275793eaSopenharmony_ci     D Z_STREAM_END    C                   1
47275793eaSopenharmony_ci     D Z_NEED_DICT     C                   2
48275793eaSopenharmony_ci     D Z_ERRNO         C                   -1
49275793eaSopenharmony_ci     D Z_STREAM_ERROR  C                   -2
50275793eaSopenharmony_ci     D Z_DATA_ERROR    C                   -3
51275793eaSopenharmony_ci     D Z_MEM_ERROR     C                   -4
52275793eaSopenharmony_ci     D Z_BUF_ERROR     C                   -5
53275793eaSopenharmony_ci     D Z_VERSION_ERROR C                   -6
54275793eaSopenharmony_ci      *
55275793eaSopenharmony_ci     D Z_NO_COMPRESSION...
56275793eaSopenharmony_ci     D                 C                   0
57275793eaSopenharmony_ci     D Z_BEST_SPEED    C                   1
58275793eaSopenharmony_ci     D Z_BEST_COMPRESSION...
59275793eaSopenharmony_ci     D                 C                   9
60275793eaSopenharmony_ci     D Z_DEFAULT_COMPRESSION...
61275793eaSopenharmony_ci     D                 C                   -1
62275793eaSopenharmony_ci      *
63275793eaSopenharmony_ci     D Z_FILTERED      C                   1
64275793eaSopenharmony_ci     D Z_HUFFMAN_ONLY  C                   2
65275793eaSopenharmony_ci     D Z_RLE           C                   3
66275793eaSopenharmony_ci     D Z_DEFAULT_STRATEGY...
67275793eaSopenharmony_ci     D                 C                   0
68275793eaSopenharmony_ci      *
69275793eaSopenharmony_ci     D Z_BINARY        C                   0
70275793eaSopenharmony_ci     D Z_ASCII         C                   1
71275793eaSopenharmony_ci     D Z_UNKNOWN       C                   2
72275793eaSopenharmony_ci      *
73275793eaSopenharmony_ci     D Z_DEFLATED      C                   8
74275793eaSopenharmony_ci      *
75275793eaSopenharmony_ci     D Z_NULL          C                   0
76275793eaSopenharmony_ci      *
77275793eaSopenharmony_ci      **************************************************************************
78275793eaSopenharmony_ci      *                                 Types
79275793eaSopenharmony_ci      **************************************************************************
80275793eaSopenharmony_ci      *
81275793eaSopenharmony_ci     D z_streamp       S               *                                        Stream struct ptr
82275793eaSopenharmony_ci     D gzFile          S               *                                        File pointer
83275793eaSopenharmony_ci     D gz_headerp      S               *
84275793eaSopenharmony_ci     D z_off_t         S             10i 0                                      Stream offsets
85275793eaSopenharmony_ci     D z_off64_t       S             20i 0                                      Stream offsets
86275793eaSopenharmony_ci      *
87275793eaSopenharmony_ci      **************************************************************************
88275793eaSopenharmony_ci      *                               Structures
89275793eaSopenharmony_ci      **************************************************************************
90275793eaSopenharmony_ci      *
91275793eaSopenharmony_ci      *  The GZIP encode/decode stream support structure.
92275793eaSopenharmony_ci      *
93275793eaSopenharmony_ci     D z_stream        DS                  align based(z_streamp)
94275793eaSopenharmony_ci     D  zs_next_in                     *                                        Next input byte
95275793eaSopenharmony_ci     D  zs_avail_in                  10U 0                                      Byte cnt at next_in
96275793eaSopenharmony_ci     D  zs_total_in                  10U 0                                      Total bytes read
97275793eaSopenharmony_ci     D  zs_next_out                    *                                        Output buffer ptr
98275793eaSopenharmony_ci     D  zs_avail_out                 10U 0                                      Room left @ next_out
99275793eaSopenharmony_ci     D  zs_total_out                 10U 0                                      Total bytes written
100275793eaSopenharmony_ci     D  zs_msg                         *                                        Last errmsg or null
101275793eaSopenharmony_ci     D  zs_state                       *                                        Internal state
102275793eaSopenharmony_ci     D  zs_zalloc                      *   procptr                              Int. state allocator
103275793eaSopenharmony_ci     D  zs_free                        *   procptr                              Int. state dealloc.
104275793eaSopenharmony_ci     D  zs_opaque                      *                                        Private alloc. data
105275793eaSopenharmony_ci     D  zs_data_type                 10i 0                                      ASC/BIN best guess
106275793eaSopenharmony_ci     D  zs_adler                     10u 0                                      Uncompr. adler32 val
107275793eaSopenharmony_ci     D                               10U 0                                      Reserved
108275793eaSopenharmony_ci     D                               10U 0                                      Ptr. alignment
109275793eaSopenharmony_ci      *
110275793eaSopenharmony_ci      **************************************************************************
111275793eaSopenharmony_ci      *                     Utility function prototypes
112275793eaSopenharmony_ci      **************************************************************************
113275793eaSopenharmony_ci      *
114275793eaSopenharmony_ci     D compress        PR            10I 0 extproc('compress')
115275793eaSopenharmony_ci     D  dest                      65535    options(*varsize)                    Destination buffer
116275793eaSopenharmony_ci     D  destLen                      10U 0                                      Destination length
117275793eaSopenharmony_ci     D  source                    65535    const options(*varsize)              Source buffer
118275793eaSopenharmony_ci     D  sourceLen                    10u 0 value                                Source length
119275793eaSopenharmony_ci      *
120275793eaSopenharmony_ci     D compress2       PR            10I 0 extproc('compress2')
121275793eaSopenharmony_ci     D  dest                      65535    options(*varsize)                    Destination buffer
122275793eaSopenharmony_ci     D  destLen                      10U 0                                      Destination length
123275793eaSopenharmony_ci     D  source                    65535    const options(*varsize)              Source buffer
124275793eaSopenharmony_ci     D  sourceLen                    10U 0 value                                Source length
125275793eaSopenharmony_ci     D  level                        10I 0 value                                Compression level
126275793eaSopenharmony_ci      *
127275793eaSopenharmony_ci     D compressBound   PR            10U 0 extproc('compressBound')
128275793eaSopenharmony_ci     D  sourceLen                    10U 0 value
129275793eaSopenharmony_ci      *
130275793eaSopenharmony_ci     D uncompress      PR            10I 0 extproc('uncompress')
131275793eaSopenharmony_ci     D  dest                      65535    options(*varsize)                    Destination buffer
132275793eaSopenharmony_ci     D  destLen                      10U 0                                      Destination length
133275793eaSopenharmony_ci     D  source                    65535    const options(*varsize)              Source buffer
134275793eaSopenharmony_ci     D  sourceLen                    10U 0 value                                Source length
135275793eaSopenharmony_ci      *
136275793eaSopenharmony_ci     D uncompress2     PR            10I 0 extproc('uncompress2')
137275793eaSopenharmony_ci     D  dest                      65535    options(*varsize)                    Destination buffer
138275793eaSopenharmony_ci     D  destLen                      10U 0                                      Destination length
139275793eaSopenharmony_ci     D  source                    65535    const options(*varsize)              Source buffer
140275793eaSopenharmony_ci     D  sourceLen                    10U 0                                      Source length
141275793eaSopenharmony_ci      *
142275793eaSopenharmony_ci      /if not defined(LARGE_FILES)
143275793eaSopenharmony_ci     D gzopen          PR                  extproc('gzopen')
144275793eaSopenharmony_ci     D                                     like(gzFile)
145275793eaSopenharmony_ci     D  path                           *   value options(*string)               File pathname
146275793eaSopenharmony_ci     D  mode                           *   value options(*string)               Open mode
147275793eaSopenharmony_ci      /else
148275793eaSopenharmony_ci     D gzopen          PR                  extproc('gzopen64')
149275793eaSopenharmony_ci     D                                     like(gzFile)
150275793eaSopenharmony_ci     D  path                           *   value options(*string)               File pathname
151275793eaSopenharmony_ci     D  mode                           *   value options(*string)               Open mode
152275793eaSopenharmony_ci      *
153275793eaSopenharmony_ci     D gzopen64        PR                  extproc('gzopen64')
154275793eaSopenharmony_ci     D                                     like(gzFile)
155275793eaSopenharmony_ci     D  path                           *   value options(*string)               File pathname
156275793eaSopenharmony_ci     D  mode                           *   value options(*string)               Open mode
157275793eaSopenharmony_ci      /endif
158275793eaSopenharmony_ci      *
159275793eaSopenharmony_ci     D gzdopen         PR                  extproc('gzdopen')
160275793eaSopenharmony_ci     D                                     like(gzFile)
161275793eaSopenharmony_ci     D  fd                           10I 0 value                                File descriptor
162275793eaSopenharmony_ci     D  mode                           *   value options(*string)               Open mode
163275793eaSopenharmony_ci      *
164275793eaSopenharmony_ci     D gzbuffer        PR            10I 0 extproc('gzbuffer')
165275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
166275793eaSopenharmony_ci     D  size                         10U 0 value
167275793eaSopenharmony_ci      *
168275793eaSopenharmony_ci     D gzsetparams     PR            10I 0 extproc('gzsetparams')
169275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
170275793eaSopenharmony_ci     D  level                        10I 0 value
171275793eaSopenharmony_ci     D  strategy                     10I 0 value
172275793eaSopenharmony_ci      *
173275793eaSopenharmony_ci     D gzread          PR            10I 0 extproc('gzread')
174275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
175275793eaSopenharmony_ci     D  buf                       65535    options(*varsize)                    Buffer
176275793eaSopenharmony_ci     D  len                          10u 0 value                                Buffer length
177275793eaSopenharmony_ci      *
178275793eaSopenharmony_ci     D gzfread          PR           20I 0 extproc('gzfread')
179275793eaSopenharmony_ci     D  buf                       65535    options(*varsize)                    Buffer
180275793eaSopenharmony_ci     D  size                         20u 0 value                                Buffer length
181275793eaSopenharmony_ci     D  nitems                       20u 0 value                                Buffer length
182275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
183275793eaSopenharmony_ci      *
184275793eaSopenharmony_ci     D gzwrite         PR            10I 0 extproc('gzwrite')
185275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
186275793eaSopenharmony_ci     D  buf                       65535    const options(*varsize)              Buffer
187275793eaSopenharmony_ci     D  len                          10u 0 value                                Buffer length
188275793eaSopenharmony_ci      *
189275793eaSopenharmony_ci     D gzfwrite         PR           20I 0 extproc('gzfwrite')
190275793eaSopenharmony_ci     D  buf                       65535    options(*varsize)                    Buffer
191275793eaSopenharmony_ci     D  size                         20u 0 value                                Buffer length
192275793eaSopenharmony_ci     D  nitems                       20u 0 value                                Buffer length
193275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
194275793eaSopenharmony_ci      *
195275793eaSopenharmony_ci     D gzputs          PR            10I 0 extproc('gzputs')
196275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
197275793eaSopenharmony_ci     D  s                              *   value options(*string)               String to output
198275793eaSopenharmony_ci      *
199275793eaSopenharmony_ci     D gzgets          PR              *   extproc('gzgets')
200275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
201275793eaSopenharmony_ci     D  buf                       65535    options(*varsize)                    Read buffer
202275793eaSopenharmony_ci     D  len                          10i 0 value                                Buffer length
203275793eaSopenharmony_ci      *
204275793eaSopenharmony_ci     D gzputc          PR            10i 0 extproc('gzputc')
205275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
206275793eaSopenharmony_ci     D  c                            10I 0 value                                Character to write
207275793eaSopenharmony_ci      *
208275793eaSopenharmony_ci     D gzgetc          PR            10i 0 extproc('gzgetc')
209275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
210275793eaSopenharmony_ci      *
211275793eaSopenharmony_ci     D gzgetc_         PR            10i 0 extproc('gzgetc_')
212275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
213275793eaSopenharmony_ci      *
214275793eaSopenharmony_ci     D gzungetc        PR            10i 0 extproc('gzungetc')
215275793eaSopenharmony_ci     D  c                            10I 0 value                                Character to push
216275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
217275793eaSopenharmony_ci      *
218275793eaSopenharmony_ci     D gzflush         PR            10i 0 extproc('gzflush')
219275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
220275793eaSopenharmony_ci     D  flush                        10I 0 value                                Type of flush
221275793eaSopenharmony_ci      *
222275793eaSopenharmony_ci      /if not defined(LARGE_FILES)
223275793eaSopenharmony_ci     D gzseek          PR                  extproc('gzseek')
224275793eaSopenharmony_ci     D                                     like(z_off_t)
225275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
226275793eaSopenharmony_ci     D  offset                             value like(z_off_t)                  Offset
227275793eaSopenharmony_ci     D  whence                       10i 0 value                                Origin
228275793eaSopenharmony_ci      /else
229275793eaSopenharmony_ci     D gzseek          PR                  extproc('gzseek64')
230275793eaSopenharmony_ci     D                                     like(z_off_t)
231275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
232275793eaSopenharmony_ci     D  offset                             value like(z_off_t)                  Offset
233275793eaSopenharmony_ci     D  whence                       10i 0 value                                Origin
234275793eaSopenharmony_ci      *
235275793eaSopenharmony_ci     D gzseek64        PR                  extproc('gzseek64')
236275793eaSopenharmony_ci     D                                     like(z_off64_t)
237275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
238275793eaSopenharmony_ci     D  offset                             value like(z_off64_t)                Offset
239275793eaSopenharmony_ci     D  whence                       10i 0 value                                Origin
240275793eaSopenharmony_ci      /endif
241275793eaSopenharmony_ci      *
242275793eaSopenharmony_ci     D gzrewind        PR            10i 0 extproc('gzrewind')
243275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
244275793eaSopenharmony_ci      *
245275793eaSopenharmony_ci      /if not defined(LARGE_FILES)
246275793eaSopenharmony_ci     D gztell          PR                  extproc('gztell')
247275793eaSopenharmony_ci     D                                     like(z_off_t)
248275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
249275793eaSopenharmony_ci      /else
250275793eaSopenharmony_ci     D gztell          PR                  extproc('gztell64')
251275793eaSopenharmony_ci     D                                     like(z_off_t)
252275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
253275793eaSopenharmony_ci      *
254275793eaSopenharmony_ci     D gztell64        PR                  extproc('gztell64')
255275793eaSopenharmony_ci     D                                     like(z_off64_t)
256275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
257275793eaSopenharmony_ci      /endif
258275793eaSopenharmony_ci      *
259275793eaSopenharmony_ci      /if not defined(LARGE_FILES)
260275793eaSopenharmony_ci     D gzoffset        PR                  extproc('gzoffset')
261275793eaSopenharmony_ci     D                                     like(z_off_t)
262275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
263275793eaSopenharmony_ci      /else
264275793eaSopenharmony_ci     D gzoffset        PR                  extproc('gzoffset64')
265275793eaSopenharmony_ci     D                                     like(z_off_t)
266275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
267275793eaSopenharmony_ci      *
268275793eaSopenharmony_ci     D gzoffset64      PR                  extproc('gzoffset64')
269275793eaSopenharmony_ci     D                                     like(z_off64_t)
270275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
271275793eaSopenharmony_ci      /endif
272275793eaSopenharmony_ci      *
273275793eaSopenharmony_ci     D gzeof           PR            10i 0 extproc('gzeof')
274275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
275275793eaSopenharmony_ci      *
276275793eaSopenharmony_ci     D gzdirect        PR            10i 0 extproc('gzdirect')
277275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
278275793eaSopenharmony_ci      *
279275793eaSopenharmony_ci     D gzclose_r       PR            10i 0 extproc('gzclose_r')
280275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
281275793eaSopenharmony_ci      *
282275793eaSopenharmony_ci     D gzclose_w       PR            10i 0 extproc('gzclose_w')
283275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
284275793eaSopenharmony_ci      *
285275793eaSopenharmony_ci     D gzclose         PR            10i 0 extproc('gzclose')
286275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
287275793eaSopenharmony_ci      *
288275793eaSopenharmony_ci     D gzerror         PR              *   extproc('gzerror')                   Error string
289275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
290275793eaSopenharmony_ci     D  errnum                       10I 0                                      Error code
291275793eaSopenharmony_ci      *
292275793eaSopenharmony_ci     D gzclearerr      PR                  extproc('gzclearerr')
293275793eaSopenharmony_ci     D  file                               value like(gzFile)                   File pointer
294275793eaSopenharmony_ci      *
295275793eaSopenharmony_ci      **************************************************************************
296275793eaSopenharmony_ci      *                        Basic function prototypes
297275793eaSopenharmony_ci      **************************************************************************
298275793eaSopenharmony_ci      *
299275793eaSopenharmony_ci     D zlibVersion     PR              *   extproc('zlibVersion')               Version string
300275793eaSopenharmony_ci      *
301275793eaSopenharmony_ci     D deflateInit     PR            10I 0 extproc('deflateInit_')              Init. compression
302275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Compression stream
303275793eaSopenharmony_ci     D  level                        10I 0 value                                Compression level
304275793eaSopenharmony_ci     D  version                        *   value options(*string)               Version string
305275793eaSopenharmony_ci     D  stream_size                  10i 0 value                                Stream struct. size
306275793eaSopenharmony_ci      *
307275793eaSopenharmony_ci     D deflate         PR            10I 0 extproc('deflate')                   Compress data
308275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Compression stream
309275793eaSopenharmony_ci     D  flush                        10I 0 value                                Flush type required
310275793eaSopenharmony_ci      *
311275793eaSopenharmony_ci     D deflateEnd      PR            10I 0 extproc('deflateEnd')                Termin. compression
312275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Compression stream
313275793eaSopenharmony_ci      *
314275793eaSopenharmony_ci     D inflateInit     PR            10I 0 extproc('inflateInit_')              Init. expansion
315275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
316275793eaSopenharmony_ci     D  version                        *   value options(*string)               Version string
317275793eaSopenharmony_ci     D  stream_size                  10i 0 value                                Stream struct. size
318275793eaSopenharmony_ci      *
319275793eaSopenharmony_ci     D inflate         PR            10I 0 extproc('inflate')                   Expand data
320275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
321275793eaSopenharmony_ci     D  flush                        10I 0 value                                Flush type required
322275793eaSopenharmony_ci      *
323275793eaSopenharmony_ci     D inflateEnd      PR            10I 0 extproc('inflateEnd')                Termin. expansion
324275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
325275793eaSopenharmony_ci      *
326275793eaSopenharmony_ci      **************************************************************************
327275793eaSopenharmony_ci      *                        Advanced function prototypes
328275793eaSopenharmony_ci      **************************************************************************
329275793eaSopenharmony_ci      *
330275793eaSopenharmony_ci     D deflateInit2    PR            10I 0 extproc('deflateInit2_')             Init. compression
331275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Compression stream
332275793eaSopenharmony_ci     D  level                        10I 0 value                                Compression level
333275793eaSopenharmony_ci     D  method                       10I 0 value                                Compression method
334275793eaSopenharmony_ci     D  windowBits                   10I 0 value                                log2(window size)
335275793eaSopenharmony_ci     D  memLevel                     10I 0 value                                Mem/cmpress tradeoff
336275793eaSopenharmony_ci     D  strategy                     10I 0 value                                Compression strategy
337275793eaSopenharmony_ci     D  version                        *   value options(*string)               Version string
338275793eaSopenharmony_ci     D  stream_size                  10i 0 value                                Stream struct. size
339275793eaSopenharmony_ci      *
340275793eaSopenharmony_ci     D deflateSetDictionary...
341275793eaSopenharmony_ci     D                 PR            10I 0 extproc('deflateSetDictionary')      Init. dictionary
342275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Compression stream
343275793eaSopenharmony_ci     D  dictionary                65535    const options(*varsize)              Dictionary bytes
344275793eaSopenharmony_ci     D  dictLength                   10U 0 value                                Dictionary length
345275793eaSopenharmony_ci      *
346275793eaSopenharmony_ci     D deflateCopy     PR            10I 0 extproc('deflateCopy')               Compress strm 2 strm
347275793eaSopenharmony_ci     D  dest                               like(z_stream)                       Destination stream
348275793eaSopenharmony_ci     D  source                             like(z_stream)                       Source stream
349275793eaSopenharmony_ci      *
350275793eaSopenharmony_ci     D deflateReset    PR            10I 0 extproc('deflateReset')              End and init. stream
351275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Compression stream
352275793eaSopenharmony_ci      *
353275793eaSopenharmony_ci     D deflateParams   PR            10I 0 extproc('deflateParams')             Change level & strat
354275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Compression stream
355275793eaSopenharmony_ci     D  level                        10I 0 value                                Compression level
356275793eaSopenharmony_ci     D  strategy                     10I 0 value                                Compression strategy
357275793eaSopenharmony_ci      *
358275793eaSopenharmony_ci     D deflateTune     PR            10I 0 extproc('deflateTune')
359275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Compression stream
360275793eaSopenharmony_ci     D  good                         10I 0 value
361275793eaSopenharmony_ci     D  lazy                         10I 0 value
362275793eaSopenharmony_ci     D  nice                         10I 0 value
363275793eaSopenharmony_ci     D  chain                        10I 0 value
364275793eaSopenharmony_ci      *
365275793eaSopenharmony_ci     D deflateBound    PR            10U 0 extproc('deflateBound')              Change level & strat
366275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Compression stream
367275793eaSopenharmony_ci     D  sourcelen                    10U 0 value                                Compression level
368275793eaSopenharmony_ci      *
369275793eaSopenharmony_ci     D deflatePending  PR            10I 0 extproc('deflatePending')            Change level & strat
370275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Compression stream
371275793eaSopenharmony_ci     D  pending                      10U 0                                      Pending bytes
372275793eaSopenharmony_ci     D  bits                         10I 0                                      Pending bits
373275793eaSopenharmony_ci      *
374275793eaSopenharmony_ci     D deflatePrime    PR            10I 0 extproc('deflatePrime')              Change level & strat
375275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Compression stream
376275793eaSopenharmony_ci     D  bits                         10I 0 value                                # of bits to insert
377275793eaSopenharmony_ci     D  value                        10I 0 value                                Bits to insert
378275793eaSopenharmony_ci      *
379275793eaSopenharmony_ci     D inflateInit2    PR            10I 0 extproc('inflateInit2_')             Init. expansion
380275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
381275793eaSopenharmony_ci     D  windowBits                   10I 0 value                                log2(window size)
382275793eaSopenharmony_ci     D  version                        *   value options(*string)               Version string
383275793eaSopenharmony_ci     D  stream_size                  10i 0 value                                Stream struct. size
384275793eaSopenharmony_ci      *
385275793eaSopenharmony_ci     D inflateSetDictionary...
386275793eaSopenharmony_ci     D                 PR            10I 0 extproc('inflateSetDictionary')      Init. dictionary
387275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
388275793eaSopenharmony_ci     D  dictionary                65535    const options(*varsize)              Dictionary bytes
389275793eaSopenharmony_ci     D  dictLength                   10U 0 value                                Dictionary length
390275793eaSopenharmony_ci      *
391275793eaSopenharmony_ci     D inflateGetDictionary...
392275793eaSopenharmony_ci     D                 PR            10I 0 extproc('inflateGetDictionary')      Get dictionary
393275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
394275793eaSopenharmony_ci     D  dictionary                65535    options(*varsize)                    Dictionary bytes
395275793eaSopenharmony_ci     D  dictLength                   10U 0                                      Dictionary length
396275793eaSopenharmony_ci      *
397275793eaSopenharmony_ci     D deflateGetDictionary...
398275793eaSopenharmony_ci     D                 PR            10I 0 extproc('deflateGetDictionary')      Get dictionary
399275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
400275793eaSopenharmony_ci     D  dictionary                65535    options(*varsize)                    Dictionary bytes
401275793eaSopenharmony_ci     D  dictLength                   10U 0                                      Dictionary length
402275793eaSopenharmony_ci      *
403275793eaSopenharmony_ci     D inflateSync     PR            10I 0 extproc('inflateSync')               Sync. expansion
404275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
405275793eaSopenharmony_ci      *
406275793eaSopenharmony_ci     D inflateCopy     PR            10I 0 extproc('inflateCopy')
407275793eaSopenharmony_ci     D  dest                               like(z_stream)                       Destination stream
408275793eaSopenharmony_ci     D  source                             like(z_stream)                       Source stream
409275793eaSopenharmony_ci      *
410275793eaSopenharmony_ci     D inflateReset    PR            10I 0 extproc('inflateReset')              End and init. stream
411275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
412275793eaSopenharmony_ci      *
413275793eaSopenharmony_ci     D inflateReset2   PR            10I 0 extproc('inflateReset2')             End and init. stream
414275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
415275793eaSopenharmony_ci     D  windowBits                   10I 0 value                                Log2(buffer size)
416275793eaSopenharmony_ci      *
417275793eaSopenharmony_ci     D inflatePrime    PR            10I 0 extproc('inflatePrime')              Insert bits
418275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
419275793eaSopenharmony_ci     D  bits                         10I 0 value                                Bit count
420275793eaSopenharmony_ci     D  value                        10I 0 value                                Bits to insert
421275793eaSopenharmony_ci      *
422275793eaSopenharmony_ci     D inflateMark     PR            10I 0 extproc('inflateMark')               Get inflate info
423275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
424275793eaSopenharmony_ci      *
425275793eaSopenharmony_ci     D inflateCodesUsed...
426275793eaSopenharmony_ci                       PR            20U 0 extproc('inflateCodesUsed')
427275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
428275793eaSopenharmony_ci      *
429275793eaSopenharmony_ci     D inflateValidate...
430275793eaSopenharmony_ci                       PR            20U 0 extproc('inflateValidate')
431275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
432275793eaSopenharmony_ci     D  check                        10I 0 value
433275793eaSopenharmony_ci      *
434275793eaSopenharmony_ci     D inflateGetHeader...
435275793eaSopenharmony_ci                       PR            10U 0 extproc('inflateGetHeader')
436275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
437275793eaSopenharmony_ci     D  head                               like(gz_headerp)
438275793eaSopenharmony_ci      *
439275793eaSopenharmony_ci     D deflateSetHeader...
440275793eaSopenharmony_ci                       PR            10U 0 extproc('deflateSetHeader')
441275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
442275793eaSopenharmony_ci     D  head                               like(gz_headerp)
443275793eaSopenharmony_ci      *
444275793eaSopenharmony_ci     D inflateBackInit...
445275793eaSopenharmony_ci     D                 PR            10I 0 extproc('inflateBackInit_')
446275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
447275793eaSopenharmony_ci     D  windowBits                   10I 0 value                                Log2(buffer size)
448275793eaSopenharmony_ci     D  window                    65535    options(*varsize)                    Buffer
449275793eaSopenharmony_ci     D  version                        *   value options(*string)               Version string
450275793eaSopenharmony_ci     D  stream_size                  10i 0 value                                Stream struct. size
451275793eaSopenharmony_ci      *
452275793eaSopenharmony_ci     D inflateBack     PR            10I 0 extproc('inflateBack')
453275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
454275793eaSopenharmony_ci     D  in                             *   value procptr                        Input function
455275793eaSopenharmony_ci     D  in_desc                        *   value                                Input descriptor
456275793eaSopenharmony_ci     D  out                            *   value procptr                        Output function
457275793eaSopenharmony_ci     D  out_desc                       *   value                                Output descriptor
458275793eaSopenharmony_ci      *
459275793eaSopenharmony_ci     D inflateBackEnd  PR            10I 0 extproc('inflateBackEnd')
460275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
461275793eaSopenharmony_ci      *
462275793eaSopenharmony_ci     D zlibCompileFlags...
463275793eaSopenharmony_ci     D                 PR            10U 0 extproc('zlibCompileFlags')
464275793eaSopenharmony_ci      *
465275793eaSopenharmony_ci      **************************************************************************
466275793eaSopenharmony_ci      *                        Checksum function prototypes
467275793eaSopenharmony_ci      **************************************************************************
468275793eaSopenharmony_ci      *
469275793eaSopenharmony_ci     D adler32         PR            10U 0 extproc('adler32')                   New checksum
470275793eaSopenharmony_ci     D  adler                        10U 0 value                                Old checksum
471275793eaSopenharmony_ci     D  buf                       65535    const options(*varsize)              Bytes to accumulate
472275793eaSopenharmony_ci     D  len                          10U 0 value                                Buffer length
473275793eaSopenharmony_ci      *
474275793eaSopenharmony_ci     D adler32_combine...
475275793eaSopenharmony_ci                       PR            10U 0 extproc('adler32_combine')           New checksum
476275793eaSopenharmony_ci     D  adler1                       10U 0 value                                Old checksum
477275793eaSopenharmony_ci     D  adler2                       10U 0 value                                Old checksum
478275793eaSopenharmony_ci     D  len2                         20U 0 value                                Buffer length
479275793eaSopenharmony_ci      *
480275793eaSopenharmony_ci     D adler32_z       PR            10U 0 extproc('adler32_z')                 New checksum
481275793eaSopenharmony_ci     D  adler                        10U 0 value                                Old checksum
482275793eaSopenharmony_ci     D  buf                       65535    const options(*varsize)              Bytes to accumulate
483275793eaSopenharmony_ci     D  len                          20U 0 value                                Buffer length
484275793eaSopenharmony_ci      *
485275793eaSopenharmony_ci     D crc32           PR            10U 0 extproc('crc32')                     New checksum
486275793eaSopenharmony_ci     D  crc                          10U 0 value                                Old checksum
487275793eaSopenharmony_ci     D  buf                       65535    const options(*varsize)              Bytes to accumulate
488275793eaSopenharmony_ci     D  len                          10U 0 value                                Buffer length
489275793eaSopenharmony_ci      *
490275793eaSopenharmony_ci     D crc32_combine...
491275793eaSopenharmony_ci                       PR            10U 0 extproc('crc32_combine')             New checksum
492275793eaSopenharmony_ci     D  crc1                         10U 0 value                                Old checksum
493275793eaSopenharmony_ci     D  crc2                         10U 0 value                                Old checksum
494275793eaSopenharmony_ci     D  len2                         20U 0 value                                Buffer length
495275793eaSopenharmony_ci      *
496275793eaSopenharmony_ci     D crc32_z         PR            10U 0 extproc('crc32_z')                   New checksum
497275793eaSopenharmony_ci     D  crc                          10U 0 value                                Old checksum
498275793eaSopenharmony_ci     D  buf                       65535    const options(*varsize)              Bytes to accumulate
499275793eaSopenharmony_ci     D  len                          20U 0 value                                Buffer length
500275793eaSopenharmony_ci      *
501275793eaSopenharmony_ci      **************************************************************************
502275793eaSopenharmony_ci      *                     Miscellaneous function prototypes
503275793eaSopenharmony_ci      **************************************************************************
504275793eaSopenharmony_ci      *
505275793eaSopenharmony_ci     D zError          PR              *   extproc('zError')                    Error string
506275793eaSopenharmony_ci     D  err                          10I 0 value                                Error code
507275793eaSopenharmony_ci      *
508275793eaSopenharmony_ci     D inflateSyncPoint...
509275793eaSopenharmony_ci     D                 PR            10I 0 extproc('inflateSyncPoint')
510275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
511275793eaSopenharmony_ci      *
512275793eaSopenharmony_ci     D get_crc_table   PR              *   extproc('get_crc_table')             Ptr to ulongs
513275793eaSopenharmony_ci      *
514275793eaSopenharmony_ci     D inflateUndermine...
515275793eaSopenharmony_ci     D                 PR            10I 0 extproc('inflateUndermine')
516275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
517275793eaSopenharmony_ci     D  arg                          10I 0 value                                Error code
518275793eaSopenharmony_ci      *
519275793eaSopenharmony_ci     D inflateResetKeep...
520275793eaSopenharmony_ci     D                 PR            10I 0 extproc('inflateResetKeep')          End and init. stream
521275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
522275793eaSopenharmony_ci      *
523275793eaSopenharmony_ci     D deflateResetKeep...
524275793eaSopenharmony_ci     D                 PR            10I 0 extproc('deflateResetKeep')          End and init. stream
525275793eaSopenharmony_ci     D  strm                               like(z_stream)                       Expansion stream
526275793eaSopenharmony_ci      *
527275793eaSopenharmony_ci      /endif
528