annotate src/zlib-1.2.7/as400/zlib.inc @ 83:ae30d91d2ffe

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