1 1.1 christos * ZLIB.INC - Interface to the general purpose compression library 2 1.1 christos * 3 1.1 christos * ILE RPG400 version by Patrick Monnerat, DATASPHERE. 4 1.1 christos * Version 1.3.2 5 1.1 christos * 6 1.1 christos * 7 1.1 christos * WARNING: 8 1.1 christos * Procedures inflateInit(), inflateInit2(), deflateInit(), 9 1.1 christos * deflateInit2() and inflateBackInit() need to be called with 10 1.1 christos * two additional arguments: 11 1.1 christos * the package version string and the stream control structure. 12 1.1 christos * size. This is needed because RPG lacks some macro feature. 13 1.1 christos * Call these procedures as: 14 1.1 christos * inflateInit(...: ZLIB_VERSION: %size(z_stream)) 15 1.1 christos * 16 1.1 christos /if not defined(ZLIB_H_) 17 1.1 christos /define ZLIB_H_ 18 1.1 christos * 19 1.1 christos ************************************************************************** 20 1.1 christos * Constants 21 1.1 christos ************************************************************************** 22 1.1 christos * 23 1.1 christos * Versioning information. 24 1.1 christos * 25 1.1 christos D ZLIB_VERSION C '1.3.2' 26 1.1 christos D ZLIB_VERNUM C X'1320' 27 1.1 christos D ZLIB_VER_MAJOR C 1 28 1.1 christos D ZLIB_VER_MINOR C 3 29 1.1 christos D ZLIB_VER_REVISION... 30 1.1 christos D C 2 31 1.1 christos D ZLIB_VER_SUBREVISION... 32 1.1 christos D C 0 33 1.1 christos * 34 1.1 christos * Other equates. 35 1.1 christos * 36 1.1 christos D Z_NO_FLUSH C 0 37 1.1 christos D Z_PARTIAL_FLUSH... 38 1.1 christos D C 1 39 1.1 christos D Z_SYNC_FLUSH C 2 40 1.1 christos D Z_FULL_FLUSH C 3 41 1.1 christos D Z_FINISH C 4 42 1.1 christos D Z_BLOCK C 5 43 1.1 christos D Z_TREES C 6 44 1.1 christos * 45 1.1 christos D Z_OK C 0 46 1.1 christos D Z_STREAM_END C 1 47 1.1 christos D Z_NEED_DICT C 2 48 1.1 christos D Z_ERRNO C -1 49 1.1 christos D Z_STREAM_ERROR C -2 50 1.1 christos D Z_DATA_ERROR C -3 51 1.1 christos D Z_MEM_ERROR C -4 52 1.1 christos D Z_BUF_ERROR C -5 53 1.1 christos D Z_VERSION_ERROR... 54 1.1 christos D C -6 55 1.1 christos * 56 1.1 christos D Z_NO_COMPRESSION... 57 1.1 christos D C 0 58 1.1 christos D Z_BEST_SPEED C 1 59 1.1 christos D Z_BEST_COMPRESSION... 60 1.1 christos D C 9 61 1.1 christos D Z_DEFAULT_COMPRESSION... 62 1.1 christos D C -1 63 1.1 christos * 64 1.1 christos D Z_FILTERED C 1 65 1.1 christos D Z_HUFFMAN_ONLY C 2 66 1.1 christos D Z_RLE C 3 67 1.1 christos D Z_DEFAULT_STRATEGY... 68 1.1 christos D C 0 69 1.1 christos * 70 1.1 christos D Z_BINARY C 0 71 1.1 christos D Z_ASCII C 1 72 1.1 christos D Z_UNKNOWN C 2 73 1.1 christos * 74 1.1 christos D Z_DEFLATED C 8 75 1.1 christos * 76 1.1 christos D Z_NULL C 0 77 1.1 christos * 78 1.1 christos ************************************************************************** 79 1.1 christos * Types 80 1.1 christos ************************************************************************** 81 1.1 christos * 82 1.1 christos D z_streamp S * Stream struct ptr 83 1.1 christos D gzFile S * File pointer 84 1.1 christos D gz_headerp S * 85 1.1 christos D z_off_t S 10i 0 Stream offsets 86 1.1 christos D z_off64_t S 20i 0 Stream offsets 87 1.1 christos * 88 1.1 christos ************************************************************************** 89 1.1 christos * Structures 90 1.1 christos ************************************************************************** 91 1.1 christos * 92 1.1 christos * The GZIP encode/decode stream support structure. 93 1.1 christos * 94 1.1 christos D z_stream DS align based(z_streamp) 95 1.1 christos D zs_next_in * Next input byte 96 1.1 christos D zs_avail_in 10U 0 Byte cnt at next_in 97 1.1 christos D zs_total_in 10U 0 Total bytes read 98 1.1 christos D zs_next_out * Output buffer ptr 99 1.1 christos D zs_avail_out 10U 0 Room left @ next_out 100 1.1 christos D zs_total_out 10U 0 Total bytes written 101 1.1 christos D zs_msg * Last errmsg or null 102 1.1 christos D zs_state * Internal state 103 1.1 christos D zs_zalloc * procptr Int. state allocator 104 1.1 christos D zs_free * procptr Int. state dealloc. 105 1.1 christos D zs_opaque * Private alloc. data 106 1.1 christos D zs_data_type 10i 0 ASC/BIN best guess 107 1.1 christos D zs_adler 10u 0 Uncompr. adler32 val 108 1.1 christos D 10U 0 Reserved 109 1.1 christos D 10U 0 Ptr. alignment 110 1.1 christos * 111 1.1 christos ************************************************************************** 112 1.1 christos * Utility function prototypes 113 1.1 christos ************************************************************************** 114 1.1 christos * 115 1.1 christos D compress PR 10I 0 extproc('compress') 116 1.1 christos D dest 65535 options(*varsize) Destination buffer 117 1.1 christos D destLen 10U 0 Destination length 118 1.1 christos D source 65535 const options(*varsize) Source buffer 119 1.1 christos D sourceLen 10u 0 value Source length 120 1.1 christos * 121 1.1 christos D compress2 PR 10I 0 extproc('compress2') 122 1.1 christos D dest 65535 options(*varsize) Destination buffer 123 1.1 christos D destLen 10U 0 Destination length 124 1.1 christos D source 65535 const options(*varsize) Source buffer 125 1.1 christos D sourceLen 10U 0 value Source length 126 1.1 christos D level 10I 0 value Compression level 127 1.1 christos * 128 1.1 christos D compress_z PR 10I 0 extproc('compress') 129 1.1 christos D dest 65535 options(*varsize) Destination buffer 130 1.1 christos D destLen 20U 0 Destination length 131 1.1 christos D source 65535 const options(*varsize) Source buffer 132 1.1 christos D sourceLen 20u 0 value Source length 133 1.1 christos * 134 1.1 christos D compress2_z PR 10I 0 extproc('compress2') 135 1.1 christos D dest 65535 options(*varsize) Destination buffer 136 1.1 christos D destLen 20U 0 Destination length 137 1.1 christos D source 65535 const options(*varsize) Source buffer 138 1.1 christos D sourceLen 20U 0 value Source length 139 1.1 christos D level 10I 0 value Compression level 140 1.1 christos * 141 1.1 christos D compressBound PR 10U 0 extproc('compressBound') 142 1.1 christos D sourceLen 10U 0 value 143 1.1 christos * 144 1.1 christos D compressBound_z PR 20U 0 extproc('compressBound') 145 1.1 christos D sourceLen 20U 0 value 146 1.1 christos * 147 1.1 christos D uncompress PR 10I 0 extproc('uncompress') 148 1.1 christos D dest 65535 options(*varsize) Destination buffer 149 1.1 christos D destLen 10U 0 Destination length 150 1.1 christos D source 65535 const options(*varsize) Source buffer 151 1.1 christos D sourceLen 10U 0 value Source length 152 1.1 christos * 153 1.1 christos D uncompress2 PR 10I 0 extproc('uncompress2') 154 1.1 christos D dest 65535 options(*varsize) Destination buffer 155 1.1 christos D destLen 10U 0 Destination length 156 1.1 christos D source 65535 const options(*varsize) Source buffer 157 1.1 christos D sourceLen 10U 0 Source length 158 1.1 christos * 159 1.1 christos D uncompress_z PR 10I 0 extproc('uncompress') 160 1.1 christos D dest 65535 options(*varsize) Destination buffer 161 1.1 christos D destLen 20U 0 Destination length 162 1.1 christos D source 65535 const options(*varsize) Source buffer 163 1.1 christos D sourceLen 20U 0 value Source length 164 1.1 christos * 165 1.1 christos D uncompress2_z PR 10I 0 extproc('uncompress2') 166 1.1 christos D dest 65535 options(*varsize) Destination buffer 167 1.1 christos D destLen 20U 0 Destination length 168 1.1 christos D source 65535 const options(*varsize) Source buffer 169 1.1 christos D sourceLen 20U 0 Source length 170 1.1 christos * 171 1.1 christos /if not defined(LARGE_FILES) 172 1.1 christos D gzopen PR extproc('gzopen') 173 1.1 christos D like(gzFile) 174 1.1 christos D path * value options(*string) File pathname 175 1.1 christos D mode * value options(*string) Open mode 176 1.1 christos /else 177 1.1 christos D gzopen PR extproc('gzopen64') 178 1.1 christos D like(gzFile) 179 1.1 christos D path * value options(*string) File pathname 180 1.1 christos D mode * value options(*string) Open mode 181 1.1 christos * 182 1.1 christos D gzopen64 PR extproc('gzopen64') 183 1.1 christos D like(gzFile) 184 1.1 christos D path * value options(*string) File pathname 185 1.1 christos D mode * value options(*string) Open mode 186 1.1 christos /endif 187 1.1 christos * 188 1.1 christos D gzdopen PR extproc('gzdopen') 189 1.1 christos D like(gzFile) 190 1.1 christos D fd 10I 0 value File descriptor 191 1.1 christos D mode * value options(*string) Open mode 192 1.1 christos * 193 1.1 christos D gzbuffer PR 10I 0 extproc('gzbuffer') 194 1.1 christos D file value like(gzFile) File pointer 195 1.1 christos D size 10U 0 value 196 1.1 christos * 197 1.1 christos D gzsetparams PR 10I 0 extproc('gzsetparams') 198 1.1 christos D file value like(gzFile) File pointer 199 1.1 christos D level 10I 0 value 200 1.1 christos D strategy 10I 0 value 201 1.1 christos * 202 1.1 christos D gzread PR 10I 0 extproc('gzread') 203 1.1 christos D file value like(gzFile) File pointer 204 1.1 christos D buf 65535 options(*varsize) Buffer 205 1.1 christos D len 10u 0 value Buffer length 206 1.1 christos * 207 1.1 christos D gzfread PR 20I 0 extproc('gzfread') 208 1.1 christos D buf 65535 options(*varsize) Buffer 209 1.1 christos D size 20u 0 value Buffer length 210 1.1 christos D nitems 20u 0 value Buffer length 211 1.1 christos D file value like(gzFile) File pointer 212 1.1 christos * 213 1.1 christos D gzwrite PR 10I 0 extproc('gzwrite') 214 1.1 christos D file value like(gzFile) File pointer 215 1.1 christos D buf 65535 const options(*varsize) Buffer 216 1.1 christos D len 10u 0 value Buffer length 217 1.1 christos * 218 1.1 christos D gzfwrite PR 20I 0 extproc('gzfwrite') 219 1.1 christos D buf 65535 options(*varsize) Buffer 220 1.1 christos D size 20u 0 value Buffer length 221 1.1 christos D nitems 20u 0 value Buffer length 222 1.1 christos D file value like(gzFile) File pointer 223 1.1 christos * 224 1.1 christos D gzputs PR 10I 0 extproc('gzputs') 225 1.1 christos D file value like(gzFile) File pointer 226 1.1 christos D s * value options(*string) String to output 227 1.1 christos * 228 1.1 christos D gzgets PR * extproc('gzgets') 229 1.1 christos D file value like(gzFile) File pointer 230 1.1 christos D buf 65535 options(*varsize) Read buffer 231 1.1 christos D len 10i 0 value Buffer length 232 1.1 christos * 233 1.1 christos D gzputc PR 10i 0 extproc('gzputc') 234 1.1 christos D file value like(gzFile) File pointer 235 1.1 christos D c 10I 0 value Character to write 236 1.1 christos * 237 1.1 christos D gzgetc PR 10i 0 extproc('gzgetc') 238 1.1 christos D file value like(gzFile) File pointer 239 1.1 christos * 240 1.1 christos D gzgetc_ PR 10i 0 extproc('gzgetc_') 241 1.1 christos D file value like(gzFile) File pointer 242 1.1 christos * 243 1.1 christos D gzungetc PR 10i 0 extproc('gzungetc') 244 1.1 christos D c 10I 0 value Character to push 245 1.1 christos D file value like(gzFile) File pointer 246 1.1 christos * 247 1.1 christos D gzflush PR 10i 0 extproc('gzflush') 248 1.1 christos D file value like(gzFile) File pointer 249 1.1 christos D flush 10I 0 value Type of flush 250 1.1 christos * 251 1.1 christos /if not defined(LARGE_FILES) 252 1.1 christos D gzseek PR extproc('gzseek') 253 1.1 christos D like(z_off_t) 254 1.1 christos D file value like(gzFile) File pointer 255 1.1 christos D offset value like(z_off_t) Offset 256 1.1 christos D whence 10i 0 value Origin 257 1.1 christos /else 258 1.1 christos D gzseek PR extproc('gzseek64') 259 1.1 christos D like(z_off_t) 260 1.1 christos D file value like(gzFile) File pointer 261 1.1 christos D offset value like(z_off_t) Offset 262 1.1 christos D whence 10i 0 value Origin 263 1.1 christos * 264 1.1 christos D gzseek64 PR extproc('gzseek64') 265 1.1 christos D like(z_off64_t) 266 1.1 christos D file value like(gzFile) File pointer 267 1.1 christos D offset value like(z_off64_t) Offset 268 1.1 christos D whence 10i 0 value Origin 269 1.1 christos /endif 270 1.1 christos * 271 1.1 christos D gzrewind PR 10i 0 extproc('gzrewind') 272 1.1 christos D file value like(gzFile) File pointer 273 1.1 christos * 274 1.1 christos /if not defined(LARGE_FILES) 275 1.1 christos D gztell PR extproc('gztell') 276 1.1 christos D like(z_off_t) 277 1.1 christos D file value like(gzFile) File pointer 278 1.1 christos /else 279 1.1 christos D gztell PR extproc('gztell64') 280 1.1 christos D like(z_off_t) 281 1.1 christos D file value like(gzFile) File pointer 282 1.1 christos * 283 1.1 christos D gztell64 PR extproc('gztell64') 284 1.1 christos D like(z_off64_t) 285 1.1 christos D file value like(gzFile) File pointer 286 1.1 christos /endif 287 1.1 christos * 288 1.1 christos /if not defined(LARGE_FILES) 289 1.1 christos D gzoffset PR extproc('gzoffset') 290 1.1 christos D like(z_off_t) 291 1.1 christos D file value like(gzFile) File pointer 292 1.1 christos /else 293 1.1 christos D gzoffset PR extproc('gzoffset64') 294 1.1 christos D like(z_off_t) 295 1.1 christos D file value like(gzFile) File pointer 296 1.1 christos * 297 1.1 christos D gzoffset64 PR extproc('gzoffset64') 298 1.1 christos D like(z_off64_t) 299 1.1 christos D file value like(gzFile) File pointer 300 1.1 christos /endif 301 1.1 christos * 302 1.1 christos D gzeof PR 10i 0 extproc('gzeof') 303 1.1 christos D file value like(gzFile) File pointer 304 1.1 christos * 305 1.1 christos D gzdirect PR 10i 0 extproc('gzdirect') 306 1.1 christos D file value like(gzFile) File pointer 307 1.1 christos * 308 1.1 christos D gzclose_r PR 10i 0 extproc('gzclose_r') 309 1.1 christos D file value like(gzFile) File pointer 310 1.1 christos * 311 1.1 christos D gzclose_w PR 10i 0 extproc('gzclose_w') 312 1.1 christos D file value like(gzFile) File pointer 313 1.1 christos * 314 1.1 christos D gzclose PR 10i 0 extproc('gzclose') 315 1.1 christos D file value like(gzFile) File pointer 316 1.1 christos * 317 1.1 christos D gzerror PR * extproc('gzerror') Error string 318 1.1 christos D file value like(gzFile) File pointer 319 1.1 christos D errnum 10I 0 Error code 320 1.1 christos * 321 1.1 christos D gzclearerr PR extproc('gzclearerr') 322 1.1 christos D file value like(gzFile) File pointer 323 1.1 christos * 324 1.1 christos ************************************************************************** 325 1.1 christos * Basic function prototypes 326 1.1 christos ************************************************************************** 327 1.1 christos * 328 1.1 christos D zlibVersion PR * extproc('zlibVersion') Version string 329 1.1 christos * 330 1.1 christos D deflateInit PR 10I 0 extproc('deflateInit_') Init. compression 331 1.1 christos D strm like(z_stream) Compression stream 332 1.1 christos D level 10I 0 value Compression level 333 1.1 christos D version * value options(*string) Version string 334 1.1 christos D stream_size 10i 0 value Stream struct. size 335 1.1 christos * 336 1.1 christos D deflate PR 10I 0 extproc('deflate') Compress data 337 1.1 christos D strm like(z_stream) Compression stream 338 1.1 christos D flush 10I 0 value Flush type required 339 1.1 christos * 340 1.1 christos D deflateEnd PR 10I 0 extproc('deflateEnd') Termin. compression 341 1.1 christos D strm like(z_stream) Compression stream 342 1.1 christos * 343 1.1 christos D inflateInit PR 10I 0 extproc('inflateInit_') Init. expansion 344 1.1 christos D strm like(z_stream) Expansion stream 345 1.1 christos D version * value options(*string) Version string 346 1.1 christos D stream_size 10i 0 value Stream struct. size 347 1.1 christos * 348 1.1 christos D inflate PR 10I 0 extproc('inflate') Expand data 349 1.1 christos D strm like(z_stream) Expansion stream 350 1.1 christos D flush 10I 0 value Flush type required 351 1.1 christos * 352 1.1 christos D inflateEnd PR 10I 0 extproc('inflateEnd') Termin. expansion 353 1.1 christos D strm like(z_stream) Expansion stream 354 1.1 christos * 355 1.1 christos ************************************************************************** 356 1.1 christos * Advanced function prototypes 357 1.1 christos ************************************************************************** 358 1.1 christos * 359 1.1 christos D deflateInit2 PR 10I 0 extproc('deflateInit2_') Init. compression 360 1.1 christos D strm like(z_stream) Compression stream 361 1.1 christos D level 10I 0 value Compression level 362 1.1 christos D method 10I 0 value Compression method 363 1.1 christos D windowBits 10I 0 value log2(window size) 364 1.1 christos D memLevel 10I 0 value Mem/cmpress tradeoff 365 1.1 christos D strategy 10I 0 value Compression strategy 366 1.1 christos D version * value options(*string) Version string 367 1.1 christos D stream_size 10i 0 value Stream struct. size 368 1.1 christos * 369 1.1 christos D deflateSetDictionary... 370 1.1 christos D PR 10I 0 extproc('deflateSetDictionary') Init. dictionary 371 1.1 christos D strm like(z_stream) Compression stream 372 1.1 christos D dictionary 65535 const options(*varsize) Dictionary bytes 373 1.1 christos D dictLength 10U 0 value Dictionary length 374 1.1 christos * 375 1.1 christos D deflateCopy PR 10I 0 extproc('deflateCopy') Compress strm 2 strm 376 1.1 christos D dest like(z_stream) Destination stream 377 1.1 christos D source like(z_stream) Source stream 378 1.1 christos * 379 1.1 christos D deflateReset PR 10I 0 extproc('deflateReset') End and init. stream 380 1.1 christos D strm like(z_stream) Compression stream 381 1.1 christos * 382 1.1 christos D deflateParams PR 10I 0 extproc('deflateParams') Change level & strat 383 1.1 christos D strm like(z_stream) Compression stream 384 1.1 christos D level 10I 0 value Compression level 385 1.1 christos D strategy 10I 0 value Compression strategy 386 1.1 christos * 387 1.1 christos D deflateTune PR 10I 0 extproc('deflateTune') 388 1.1 christos D strm like(z_stream) Compression stream 389 1.1 christos D good 10I 0 value 390 1.1 christos D lazy 10I 0 value 391 1.1 christos D nice 10I 0 value 392 1.1 christos D chain 10I 0 value 393 1.1 christos * 394 1.1 christos D deflateBound PR 10U 0 extproc('deflateBound') Change level & strat 395 1.1 christos D strm like(z_stream) Compression stream 396 1.1 christos D sourcelen 10U 0 value Compression level 397 1.1 christos * 398 1.1 christos D deflateBound_z PR 20U 0 extproc('deflateBound') Change level & strat 399 1.1 christos D strm like(z_stream) Compression stream 400 1.1 christos D sourcelen 20U 0 value Compression level 401 1.1 christos * 402 1.1 christos D deflatePending PR 10I 0 extproc('deflatePending') Change level & strat 403 1.1 christos D strm like(z_stream) Compression stream 404 1.1 christos D pending 10U 0 Pending bytes 405 1.1 christos D bits 10I 0 Pending bits 406 1.1 christos * 407 1.1 christos D deflateUsed PR 10I 0 extproc('deflateUsed') Get used bits 408 1.1 christos D strm like(z_stream) Compression stream 409 1.1 christos D bits 10I 0 Used bits 410 1.1 christos * 411 1.1 christos D deflatePrime PR 10I 0 extproc('deflatePrime') Change level & strat 412 1.1 christos D strm like(z_stream) Compression stream 413 1.1 christos D bits 10I 0 value # of bits to insert 414 1.1 christos D value 10I 0 value Bits to insert 415 1.1 christos * 416 1.1 christos D inflateInit2 PR 10I 0 extproc('inflateInit2_') Init. expansion 417 1.1 christos D strm like(z_stream) Expansion stream 418 1.1 christos D windowBits 10I 0 value log2(window size) 419 1.1 christos D version * value options(*string) Version string 420 1.1 christos D stream_size 10i 0 value Stream struct. size 421 1.1 christos * 422 1.1 christos D inflateSetDictionary... 423 1.1 christos D PR 10I 0 extproc('inflateSetDictionary') Init. dictionary 424 1.1 christos D strm like(z_stream) Expansion stream 425 1.1 christos D dictionary 65535 const options(*varsize) Dictionary bytes 426 1.1 christos D dictLength 10U 0 value Dictionary length 427 1.1 christos * 428 1.1 christos D inflateGetDictionary... 429 1.1 christos D PR 10I 0 extproc('inflateGetDictionary') Get dictionary 430 1.1 christos D strm like(z_stream) Expansion stream 431 1.1 christos D dictionary 65535 options(*varsize) Dictionary bytes 432 1.1 christos D dictLength 10U 0 Dictionary length 433 1.1 christos * 434 1.1 christos D deflateGetDictionary... 435 1.1 christos D PR 10I 0 extproc('deflateGetDictionary') Get dictionary 436 1.1 christos D strm like(z_stream) Expansion stream 437 1.1 christos D dictionary 65535 options(*varsize) Dictionary bytes 438 1.1 christos D dictLength 10U 0 Dictionary length 439 1.1 christos * 440 1.1 christos D inflateSync PR 10I 0 extproc('inflateSync') Sync. expansion 441 1.1 christos D strm like(z_stream) Expansion stream 442 1.1 christos * 443 1.1 christos D inflateCopy PR 10I 0 extproc('inflateCopy') 444 1.1 christos D dest like(z_stream) Destination stream 445 1.1 christos D source like(z_stream) Source stream 446 1.1 christos * 447 1.1 christos D inflateReset PR 10I 0 extproc('inflateReset') End and init. stream 448 1.1 christos D strm like(z_stream) Expansion stream 449 1.1 christos * 450 1.1 christos D inflateReset2 PR 10I 0 extproc('inflateReset2') End and init. stream 451 1.1 christos D strm like(z_stream) Expansion stream 452 1.1 christos D windowBits 10I 0 value Log2(buffer size) 453 1.1 christos * 454 1.1 christos D inflatePrime PR 10I 0 extproc('inflatePrime') Insert bits 455 1.1 christos D strm like(z_stream) Expansion stream 456 1.1 christos D bits 10I 0 value Bit count 457 1.1 christos D value 10I 0 value Bits to insert 458 1.1 christos * 459 1.1 christos D inflateMark PR 10I 0 extproc('inflateMark') Get inflate info 460 1.1 christos D strm like(z_stream) Expansion stream 461 1.1 christos * 462 1.1 christos D inflateCodesUsed... 463 1.1 christos D PR 20U 0 extproc('inflateCodesUsed') 464 1.1 christos D strm like(z_stream) Expansion stream 465 1.1 christos * 466 1.1 christos D inflateValidate... 467 1.1 christos D PR 20U 0 extproc('inflateValidate') 468 1.1 christos D strm like(z_stream) Expansion stream 469 1.1 christos D check 10I 0 value 470 1.1 christos * 471 1.1 christos D inflateGetHeader... 472 1.1 christos D PR 10U 0 extproc('inflateGetHeader') 473 1.1 christos D strm like(z_stream) Expansion stream 474 1.1 christos D head like(gz_headerp) 475 1.1 christos * 476 1.1 christos D deflateSetHeader... 477 1.1 christos D PR 10U 0 extproc('deflateSetHeader') 478 1.1 christos D strm like(z_stream) Expansion stream 479 1.1 christos D head like(gz_headerp) 480 1.1 christos * 481 1.1 christos D inflateBackInit... 482 1.1 christos D PR 10I 0 extproc('inflateBackInit_') 483 1.1 christos D strm like(z_stream) Expansion stream 484 1.1 christos D windowBits 10I 0 value Log2(buffer size) 485 1.1 christos D window 65535 options(*varsize) Buffer 486 1.1 christos D version * value options(*string) Version string 487 1.1 christos D stream_size 10i 0 value Stream struct. size 488 1.1 christos * 489 1.1 christos D inflateBack PR 10I 0 extproc('inflateBack') 490 1.1 christos D strm like(z_stream) Expansion stream 491 1.1 christos D in * value procptr Input function 492 1.1 christos D in_desc * value Input descriptor 493 1.1 christos D out * value procptr Output function 494 1.1 christos D out_desc * value Output descriptor 495 1.1 christos * 496 1.1 christos D inflateBackEnd PR 10I 0 extproc('inflateBackEnd') 497 1.1 christos D strm like(z_stream) Expansion stream 498 1.1 christos * 499 1.1 christos D zlibCompileFlags... 500 1.1 christos D PR 10U 0 extproc('zlibCompileFlags') 501 1.1 christos * 502 1.1 christos ************************************************************************** 503 1.1 christos * Checksum function prototypes 504 1.1 christos ************************************************************************** 505 1.1 christos * 506 1.1 christos D adler32 PR 10U 0 extproc('adler32') New checksum 507 1.1 christos D adler 10U 0 value Old checksum 508 1.1 christos D buf 65535 const options(*varsize) Bytes to accumulate 509 1.1 christos D len 10U 0 value Buffer length 510 1.1 christos * 511 1.1 christos D adler32_combine... 512 1.1 christos D PR 10U 0 extproc('adler32_combine') New checksum 513 1.1 christos D adler1 10U 0 value Old checksum 514 1.1 christos D adler2 10U 0 value Old checksum 515 1.1 christos D len2 20U 0 value Buffer length 516 1.1 christos * 517 1.1 christos D adler32_z PR 10U 0 extproc('adler32_z') New checksum 518 1.1 christos D adler 10U 0 value Old checksum 519 1.1 christos D buf 65535 const options(*varsize) Bytes to accumulate 520 1.1 christos D len 20U 0 value Buffer length 521 1.1 christos * 522 1.1 christos D crc32 PR 10U 0 extproc('crc32') New checksum 523 1.1 christos D crc 10U 0 value Old checksum 524 1.1 christos D buf 65535 const options(*varsize) Bytes to accumulate 525 1.1 christos D len 10U 0 value Buffer length 526 1.1 christos * 527 1.1 christos D crc32_combine... 528 1.1 christos D PR 10U 0 extproc('crc32_combine') New checksum 529 1.1 christos D crc1 10U 0 value Old checksum 530 1.1 christos D crc2 10U 0 value Old checksum 531 1.1 christos D len2 20U 0 value Buffer length 532 1.1 christos * 533 1.1 christos D crc32_z PR 10U 0 extproc('crc32_z') New checksum 534 1.1 christos D crc 10U 0 value Old checksum 535 1.1 christos D buf 65535 const options(*varsize) Bytes to accumulate 536 1.1 christos D len 20U 0 value Buffer length 537 1.1 christos * 538 1.1 christos D crc32_combine_gen... 539 1.1 christos D PR 10U 0 extproc('crc32_combine_gen') Operator 540 1.1 christos D len2 20U 0 value Buffer length 541 1.1 christos * 542 1.1 christos D crc32_combine_gen64... 543 1.1 christos D PR 10U 0 extproc('crc32_combine_gen64') Operator 544 1.1 christos D len2 20U 0 value Buffer length 545 1.1 christos * 546 1.1 christos D crc32_combine_op... 547 1.1 christos D PR 10U 0 extproc('crc32_combine_op') New Checksum 548 1.1 christos D crc1 10U 0 value Old checksum 549 1.1 christos D crc2 10U 0 value Old checksum 550 1.1 christos D op 10U 0 value Operator 551 1.1 christos * 552 1.1 christos ************************************************************************** 553 1.1 christos * Miscellaneous function prototypes 554 1.1 christos ************************************************************************** 555 1.1 christos * 556 1.1 christos D zError PR * extproc('zError') Error string 557 1.1 christos D err 10I 0 value Error code 558 1.1 christos * 559 1.1 christos D inflateSyncPoint... 560 1.1 christos D PR 10I 0 extproc('inflateSyncPoint') 561 1.1 christos D strm like(z_stream) Expansion stream 562 1.1 christos * 563 1.1 christos D get_crc_table PR * extproc('get_crc_table') Ptr to ulongs 564 1.1 christos * 565 1.1 christos D inflateUndermine... 566 1.1 christos D PR 10I 0 extproc('inflateUndermine') 567 1.1 christos D strm like(z_stream) Expansion stream 568 1.1 christos D arg 10I 0 value Error code 569 1.1 christos * 570 1.1 christos D inflateResetKeep... 571 1.1 christos D PR 10I 0 extproc('inflateResetKeep') End and init. stream 572 1.1 christos D strm like(z_stream) Expansion stream 573 1.1 christos * 574 1.1 christos D deflateResetKeep... 575 1.1 christos D PR 10I 0 extproc('deflateResetKeep') End and init. stream 576 1.1 christos D strm like(z_stream) Expansion stream 577 1.1 christos * 578 1.1 christos /endif 579