528 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			528 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   |       *  ZLIB.INC - Interface to the general purpose compression library | ||
|  |       * | ||
|  |       *  ILE RPG400 version by Patrick Monnerat, DATASPHERE. | ||
|  |       *  Version 1.2.11 | ||
|  |       * | ||
|  |       * | ||
|  |       *  WARNING: | ||
|  |       *     Procedures inflateInit(), inflateInit2(), deflateInit(), | ||
|  |       *         deflateInit2() and inflateBackInit() need to be called with | ||
|  |       *         two additional arguments: | ||
|  |       *         the package version string and the stream control structure. | ||
|  |       *         size. This is needed because RPG lacks some macro feature. | ||
|  |       *         Call these procedures as: | ||
|  |       *             inflateInit(...: ZLIB_VERSION: %size(z_stream)) | ||
|  |       * | ||
|  |       /if not defined(ZLIB_H_) | ||
|  |       /define ZLIB_H_ | ||
|  |       * | ||
|  |       ************************************************************************** | ||
|  |       *                               Constants | ||
|  |       ************************************************************************** | ||
|  |       * | ||
|  |       *  Versioning information. | ||
|  |       * | ||
|  |      D ZLIB_VERSION    C                   '1.2.11' | ||
|  |      D ZLIB_VERNUM     C                   X'12a0' | ||
|  |      D ZLIB_VER_MAJOR  C                   1 | ||
|  |      D ZLIB_VER_MINOR  C                   2 | ||
|  |      D ZLIB_VER_REVISION... | ||
|  |      D                 C                   11 | ||
|  |      D ZLIB_VER_SUBREVISION... | ||
|  |      D                 C                   0 | ||
|  |       * | ||
|  |       *  Other equates. | ||
|  |       * | ||
|  |      D Z_NO_FLUSH      C                   0 | ||
|  |      D Z_PARTIAL_FLUSH... | ||
|  |      D                 C                   1 | ||
|  |      D Z_SYNC_FLUSH    C                   2 | ||
|  |      D Z_FULL_FLUSH    C                   3 | ||
|  |      D Z_FINISH        C                   4 | ||
|  |      D Z_BLOCK         C                   5 | ||
|  |      D Z_TREES         C                   6 | ||
|  |       * | ||
|  |      D Z_OK            C                   0 | ||
|  |      D Z_STREAM_END    C                   1 | ||
|  |      D Z_NEED_DICT     C                   2 | ||
|  |      D Z_ERRNO         C                   -1 | ||
|  |      D Z_STREAM_ERROR  C                   -2 | ||
|  |      D Z_DATA_ERROR    C                   -3 | ||
|  |      D Z_MEM_ERROR     C                   -4 | ||
|  |      D Z_BUF_ERROR     C                   -5 | ||
|  |      D Z_VERSION_ERROR C                   -6 | ||
|  |       * | ||
|  |      D Z_NO_COMPRESSION... | ||
|  |      D                 C                   0 | ||
|  |      D Z_BEST_SPEED    C                   1 | ||
|  |      D Z_BEST_COMPRESSION... | ||
|  |      D                 C                   9 | ||
|  |      D Z_DEFAULT_COMPRESSION... | ||
|  |      D                 C                   -1 | ||
|  |       * | ||
|  |      D Z_FILTERED      C                   1 | ||
|  |      D Z_HUFFMAN_ONLY  C                   2 | ||
|  |      D Z_RLE           C                   3 | ||
|  |      D Z_DEFAULT_STRATEGY... | ||
|  |      D                 C                   0 | ||
|  |       * | ||
|  |      D Z_BINARY        C                   0 | ||
|  |      D Z_ASCII         C                   1 | ||
|  |      D Z_UNKNOWN       C                   2 | ||
|  |       * | ||
|  |      D Z_DEFLATED      C                   8 | ||
|  |       * | ||
|  |      D Z_NULL          C                   0 | ||
|  |       * | ||
|  |       ************************************************************************** | ||
|  |       *                                 Types | ||
|  |       ************************************************************************** | ||
|  |       * | ||
|  |      D z_streamp       S               *                                        Stream struct ptr | ||
|  |      D gzFile          S               *                                        File pointer | ||
|  |      D gz_headerp      S               * | ||
|  |      D z_off_t         S             10i 0                                      Stream offsets | ||
|  |      D z_off64_t       S             20i 0                                      Stream offsets | ||
|  |       * | ||
|  |       ************************************************************************** | ||
|  |       *                               Structures | ||
|  |       ************************************************************************** | ||
|  |       * | ||
|  |       *  The GZIP encode/decode stream support structure. | ||
|  |       * | ||
|  |      D z_stream        DS                  align based(z_streamp) | ||
|  |      D  zs_next_in                     *                                        Next input byte | ||
|  |      D  zs_avail_in                  10U 0                                      Byte cnt at next_in | ||
|  |      D  zs_total_in                  10U 0                                      Total bytes read | ||
|  |      D  zs_next_out                    *                                        Output buffer ptr | ||
|  |      D  zs_avail_out                 10U 0                                      Room left @ next_out | ||
|  |      D  zs_total_out                 10U 0                                      Total bytes written | ||
|  |      D  zs_msg                         *                                        Last errmsg or null | ||
|  |      D  zs_state                       *                                        Internal state | ||
|  |      D  zs_zalloc                      *   procptr                              Int. state allocator | ||
|  |      D  zs_free                        *   procptr                              Int. state dealloc. | ||
|  |      D  zs_opaque                      *                                        Private alloc. data | ||
|  |      D  zs_data_type                 10i 0                                      ASC/BIN best guess | ||
|  |      D  zs_adler                     10u 0                                      Uncompr. adler32 val | ||
|  |      D                               10U 0                                      Reserved | ||
|  |      D                               10U 0                                      Ptr. alignment | ||
|  |       * | ||
|  |       ************************************************************************** | ||
|  |       *                     Utility function prototypes | ||
|  |       ************************************************************************** | ||
|  |       * | ||
|  |      D compress        PR            10I 0 extproc('compress') | ||
|  |      D  dest                      65535    options(*varsize)                    Destination buffer | ||
|  |      D  destLen                      10U 0                                      Destination length | ||
|  |      D  source                    65535    const options(*varsize)              Source buffer | ||
|  |      D  sourceLen                    10u 0 value                                Source length | ||
|  |       * | ||
|  |      D compress2       PR            10I 0 extproc('compress2') | ||
|  |      D  dest                      65535    options(*varsize)                    Destination buffer | ||
|  |      D  destLen                      10U 0                                      Destination length | ||
|  |      D  source                    65535    const options(*varsize)              Source buffer | ||
|  |      D  sourceLen                    10U 0 value                                Source length | ||
|  |      D  level                        10I 0 value                                Compression level | ||
|  |       * | ||
|  |      D compressBound   PR            10U 0 extproc('compressBound') | ||
|  |      D  sourceLen                    10U 0 value | ||
|  |       * | ||
|  |      D uncompress      PR            10I 0 extproc('uncompress') | ||
|  |      D  dest                      65535    options(*varsize)                    Destination buffer | ||
|  |      D  destLen                      10U 0                                      Destination length | ||
|  |      D  source                    65535    const options(*varsize)              Source buffer | ||
|  |      D  sourceLen                    10U 0 value                                Source length | ||
|  |       * | ||
|  |      D uncompress2     PR            10I 0 extproc('uncompress2') | ||
|  |      D  dest                      65535    options(*varsize)                    Destination buffer | ||
|  |      D  destLen                      10U 0                                      Destination length | ||
|  |      D  source                    65535    const options(*varsize)              Source buffer | ||
|  |      D  sourceLen                    10U 0                                      Source length | ||
|  |       * | ||
|  |       /if not defined(LARGE_FILES) | ||
|  |      D gzopen          PR                  extproc('gzopen') | ||
|  |      D                                     like(gzFile) | ||
|  |      D  path                           *   value options(*string)               File pathname | ||
|  |      D  mode                           *   value options(*string)               Open mode | ||
|  |       /else | ||
|  |      D gzopen          PR                  extproc('gzopen64') | ||
|  |      D                                     like(gzFile) | ||
|  |      D  path                           *   value options(*string)               File pathname | ||
|  |      D  mode                           *   value options(*string)               Open mode | ||
|  |       * | ||
|  |      D gzopen64        PR                  extproc('gzopen64') | ||
|  |      D                                     like(gzFile) | ||
|  |      D  path                           *   value options(*string)               File pathname | ||
|  |      D  mode                           *   value options(*string)               Open mode | ||
|  |       /endif | ||
|  |       * | ||
|  |      D gzdopen         PR                  extproc('gzdopen') | ||
|  |      D                                     like(gzFile) | ||
|  |      D  fd                           10I 0 value                                File descriptor | ||
|  |      D  mode                           *   value options(*string)               Open mode | ||
|  |       * | ||
|  |      D gzbuffer        PR            10I 0 extproc('gzbuffer') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |      D  size                         10U 0 value | ||
|  |       * | ||
|  |      D gzsetparams     PR            10I 0 extproc('gzsetparams') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |      D  level                        10I 0 value | ||
|  |      D  strategy                     10I 0 value | ||
|  |       * | ||
|  |      D gzread          PR            10I 0 extproc('gzread') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |      D  buf                       65535    options(*varsize)                    Buffer | ||
|  |      D  len                          10u 0 value                                Buffer length | ||
|  |       * | ||
|  |      D gzfread          PR           20I 0 extproc('gzfread') | ||
|  |      D  buf                       65535    options(*varsize)                    Buffer | ||
|  |      D  size                         20u 0 value                                Buffer length | ||
|  |      D  nitems                       20u 0 value                                Buffer length | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       * | ||
|  |      D gzwrite         PR            10I 0 extproc('gzwrite') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |      D  buf                       65535    const options(*varsize)              Buffer | ||
|  |      D  len                          10u 0 value                                Buffer length | ||
|  |       * | ||
|  |      D gzfwrite         PR           20I 0 extproc('gzfwrite') | ||
|  |      D  buf                       65535    options(*varsize)                    Buffer | ||
|  |      D  size                         20u 0 value                                Buffer length | ||
|  |      D  nitems                       20u 0 value                                Buffer length | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       * | ||
|  |      D gzputs          PR            10I 0 extproc('gzputs') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |      D  s                              *   value options(*string)               String to output | ||
|  |       * | ||
|  |      D gzgets          PR              *   extproc('gzgets') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |      D  buf                       65535    options(*varsize)                    Read buffer | ||
|  |      D  len                          10i 0 value                                Buffer length | ||
|  |       * | ||
|  |      D gzputc          PR            10i 0 extproc('gzputc') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |      D  c                            10I 0 value                                Character to write | ||
|  |       * | ||
|  |      D gzgetc          PR            10i 0 extproc('gzgetc') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       * | ||
|  |      D gzgetc_         PR            10i 0 extproc('gzgetc_') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       * | ||
|  |      D gzungetc        PR            10i 0 extproc('gzungetc') | ||
|  |      D  c                            10I 0 value                                Character to push | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       * | ||
|  |      D gzflush         PR            10i 0 extproc('gzflush') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |      D  flush                        10I 0 value                                Type of flush | ||
|  |       * | ||
|  |       /if not defined(LARGE_FILES) | ||
|  |      D gzseek          PR                  extproc('gzseek') | ||
|  |      D                                     like(z_off_t) | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |      D  offset                             value like(z_off_t)                  Offset | ||
|  |      D  whence                       10i 0 value                                Origin | ||
|  |       /else | ||
|  |      D gzseek          PR                  extproc('gzseek64') | ||
|  |      D                                     like(z_off_t) | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |      D  offset                             value like(z_off_t)                  Offset | ||
|  |      D  whence                       10i 0 value                                Origin | ||
|  |       * | ||
|  |      D gzseek64        PR                  extproc('gzseek64') | ||
|  |      D                                     like(z_off64_t) | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |      D  offset                             value like(z_off64_t)                Offset | ||
|  |      D  whence                       10i 0 value                                Origin | ||
|  |       /endif | ||
|  |       * | ||
|  |      D gzrewind        PR            10i 0 extproc('gzrewind') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       * | ||
|  |       /if not defined(LARGE_FILES) | ||
|  |      D gztell          PR                  extproc('gztell') | ||
|  |      D                                     like(z_off_t) | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       /else | ||
|  |      D gztell          PR                  extproc('gztell64') | ||
|  |      D                                     like(z_off_t) | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       * | ||
|  |      D gztell64        PR                  extproc('gztell64') | ||
|  |      D                                     like(z_off64_t) | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       /endif | ||
|  |       * | ||
|  |       /if not defined(LARGE_FILES) | ||
|  |      D gzoffset        PR                  extproc('gzoffset') | ||
|  |      D                                     like(z_off_t) | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       /else | ||
|  |      D gzoffset        PR                  extproc('gzoffset64') | ||
|  |      D                                     like(z_off_t) | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       * | ||
|  |      D gzoffset64      PR                  extproc('gzoffset64') | ||
|  |      D                                     like(z_off64_t) | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       /endif | ||
|  |       * | ||
|  |      D gzeof           PR            10i 0 extproc('gzeof') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       * | ||
|  |      D gzdirect        PR            10i 0 extproc('gzdirect') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       * | ||
|  |      D gzclose_r       PR            10i 0 extproc('gzclose_r') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       * | ||
|  |      D gzclose_w       PR            10i 0 extproc('gzclose_w') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       * | ||
|  |      D gzclose         PR            10i 0 extproc('gzclose') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       * | ||
|  |      D gzerror         PR              *   extproc('gzerror')                   Error string | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |      D  errnum                       10I 0                                      Error code | ||
|  |       * | ||
|  |      D gzclearerr      PR                  extproc('gzclearerr') | ||
|  |      D  file                               value like(gzFile)                   File pointer | ||
|  |       * | ||
|  |       ************************************************************************** | ||
|  |       *                        Basic function prototypes | ||
|  |       ************************************************************************** | ||
|  |       * | ||
|  |      D zlibVersion     PR              *   extproc('zlibVersion')               Version string | ||
|  |       * | ||
|  |      D deflateInit     PR            10I 0 extproc('deflateInit_')              Init. compression | ||
|  |      D  strm                               like(z_stream)                       Compression stream | ||
|  |      D  level                        10I 0 value                                Compression level | ||
|  |      D  version                        *   value options(*string)               Version string | ||
|  |      D  stream_size                  10i 0 value                                Stream struct. size | ||
|  |       * | ||
|  |      D deflate         PR            10I 0 extproc('deflate')                   Compress data | ||
|  |      D  strm                               like(z_stream)                       Compression stream | ||
|  |      D  flush                        10I 0 value                                Flush type required | ||
|  |       * | ||
|  |      D deflateEnd      PR            10I 0 extproc('deflateEnd')                Termin. compression | ||
|  |      D  strm                               like(z_stream)                       Compression stream | ||
|  |       * | ||
|  |      D inflateInit     PR            10I 0 extproc('inflateInit_')              Init. expansion | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |      D  version                        *   value options(*string)               Version string | ||
|  |      D  stream_size                  10i 0 value                                Stream struct. size | ||
|  |       * | ||
|  |      D inflate         PR            10I 0 extproc('inflate')                   Expand data | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |      D  flush                        10I 0 value                                Flush type required | ||
|  |       * | ||
|  |      D inflateEnd      PR            10I 0 extproc('inflateEnd')                Termin. expansion | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |       * | ||
|  |       ************************************************************************** | ||
|  |       *                        Advanced function prototypes | ||
|  |       ************************************************************************** | ||
|  |       * | ||
|  |      D deflateInit2    PR            10I 0 extproc('deflateInit2_')             Init. compression | ||
|  |      D  strm                               like(z_stream)                       Compression stream | ||
|  |      D  level                        10I 0 value                                Compression level | ||
|  |      D  method                       10I 0 value                                Compression method | ||
|  |      D  windowBits                   10I 0 value                                log2(window size) | ||
|  |      D  memLevel                     10I 0 value                                Mem/cmpress tradeoff | ||
|  |      D  strategy                     10I 0 value                                Compression strategy | ||
|  |      D  version                        *   value options(*string)               Version string | ||
|  |      D  stream_size                  10i 0 value                                Stream struct. size | ||
|  |       * | ||
|  |      D deflateSetDictionary... | ||
|  |      D                 PR            10I 0 extproc('deflateSetDictionary')      Init. dictionary | ||
|  |      D  strm                               like(z_stream)                       Compression stream | ||
|  |      D  dictionary                65535    const options(*varsize)              Dictionary bytes | ||
|  |      D  dictLength                   10U 0 value                                Dictionary length | ||
|  |       * | ||
|  |      D deflateCopy     PR            10I 0 extproc('deflateCopy')               Compress strm 2 strm | ||
|  |      D  dest                               like(z_stream)                       Destination stream | ||
|  |      D  source                             like(z_stream)                       Source stream | ||
|  |       * | ||
|  |      D deflateReset    PR            10I 0 extproc('deflateReset')              End and init. stream | ||
|  |      D  strm                               like(z_stream)                       Compression stream | ||
|  |       * | ||
|  |      D deflateParams   PR            10I 0 extproc('deflateParams')             Change level & strat | ||
|  |      D  strm                               like(z_stream)                       Compression stream | ||
|  |      D  level                        10I 0 value                                Compression level | ||
|  |      D  strategy                     10I 0 value                                Compression strategy | ||
|  |       * | ||
|  |      D deflateTune     PR            10I 0 extproc('deflateTune') | ||
|  |      D  strm                               like(z_stream)                       Compression stream | ||
|  |      D  good                         10I 0 value | ||
|  |      D  lazy                         10I 0 value | ||
|  |      D  nice                         10I 0 value | ||
|  |      D  chain                        10I 0 value | ||
|  |       * | ||
|  |      D deflateBound    PR            10U 0 extproc('deflateBound')              Change level & strat | ||
|  |      D  strm                               like(z_stream)                       Compression stream | ||
|  |      D  sourcelen                    10U 0 value                                Compression level | ||
|  |       * | ||
|  |      D deflatePending  PR            10I 0 extproc('deflatePending')            Change level & strat | ||
|  |      D  strm                               like(z_stream)                       Compression stream | ||
|  |      D  pending                      10U 0                                      Pending bytes | ||
|  |      D  bits                         10I 0                                      Pending bits | ||
|  |       * | ||
|  |      D deflatePrime    PR            10I 0 extproc('deflatePrime')              Change level & strat | ||
|  |      D  strm                               like(z_stream)                       Compression stream | ||
|  |      D  bits                         10I 0 value                                # of bits to insert
 | ||
|  |      D  value                        10I 0 value                                Bits to insert | ||
|  |       * | ||
|  |      D inflateInit2    PR            10I 0 extproc('inflateInit2_')             Init. expansion | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |      D  windowBits                   10I 0 value                                log2(window size) | ||
|  |      D  version                        *   value options(*string)               Version string | ||
|  |      D  stream_size                  10i 0 value                                Stream struct. size | ||
|  |       * | ||
|  |      D inflateSetDictionary... | ||
|  |      D                 PR            10I 0 extproc('inflateSetDictionary')      Init. dictionary | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |      D  dictionary                65535    const options(*varsize)              Dictionary bytes | ||
|  |      D  dictLength                   10U 0 value                                Dictionary length | ||
|  |       * | ||
|  |      D inflateGetDictionary... | ||
|  |      D                 PR            10I 0 extproc('inflateGetDictionary')      Get dictionary | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |      D  dictionary                65535    options(*varsize)                    Dictionary bytes | ||
|  |      D  dictLength                   10U 0                                      Dictionary length | ||
|  |       * | ||
|  |      D deflateGetDictionary... | ||
|  |      D                 PR            10I 0 extproc('deflateGetDictionary')      Get dictionary | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |      D  dictionary                65535    options(*varsize)                    Dictionary bytes | ||
|  |      D  dictLength                   10U 0                                      Dictionary length | ||
|  |       * | ||
|  |      D inflateSync     PR            10I 0 extproc('inflateSync')               Sync. expansion | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |       * | ||
|  |      D inflateCopy     PR            10I 0 extproc('inflateCopy') | ||
|  |      D  dest                               like(z_stream)                       Destination stream | ||
|  |      D  source                             like(z_stream)                       Source stream | ||
|  |       * | ||
|  |      D inflateReset    PR            10I 0 extproc('inflateReset')              End and init. stream | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |       * | ||
|  |      D inflateReset2   PR            10I 0 extproc('inflateReset2')             End and init. stream | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |      D  windowBits                   10I 0 value                                Log2(buffer size) | ||
|  |       * | ||
|  |      D inflatePrime    PR            10I 0 extproc('inflatePrime')              Insert bits | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |      D  bits                         10I 0 value                                Bit count | ||
|  |      D  value                        10I 0 value                                Bits to insert | ||
|  |       * | ||
|  |      D inflateMark     PR            10I 0 extproc('inflateMark')               Get inflate info | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |       * | ||
|  |      D inflateCodesUsed... | ||
|  |                        PR            20U 0 extproc('inflateCodesUsed') | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |       * | ||
|  |      D inflateValidate... | ||
|  |                        PR            20U 0 extproc('inflateValidate') | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |      D  check                        10I 0 value | ||
|  |       * | ||
|  |      D inflateGetHeader... | ||
|  |                        PR            10U 0 extproc('inflateGetHeader') | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |      D  head                               like(gz_headerp) | ||
|  |       * | ||
|  |      D deflateSetHeader... | ||
|  |                        PR            10U 0 extproc('deflateSetHeader') | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |      D  head                               like(gz_headerp) | ||
|  |       * | ||
|  |      D inflateBackInit... | ||
|  |      D                 PR            10I 0 extproc('inflateBackInit_') | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |      D  windowBits                   10I 0 value                                Log2(buffer size) | ||
|  |      D  window                    65535    options(*varsize)                    Buffer | ||
|  |      D  version                        *   value options(*string)               Version string | ||
|  |      D  stream_size                  10i 0 value                                Stream struct. size | ||
|  |       * | ||
|  |      D inflateBack     PR            10I 0 extproc('inflateBack') | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |      D  in                             *   value procptr                        Input function
 | ||
|  |      D  in_desc                        *   value                                Input descriptor | ||
|  |      D  out                            *   value procptr                        Output function
 | ||
|  |      D  out_desc                       *   value                                Output descriptor | ||
|  |       * | ||
|  |      D inflateBackEnd  PR            10I 0 extproc('inflateBackEnd') | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |       * | ||
|  |      D zlibCompileFlags... | ||
|  |      D                 PR            10U 0 extproc('zlibCompileFlags') | ||
|  |       * | ||
|  |       ************************************************************************** | ||
|  |       *                        Checksum function prototypes | ||
|  |       ************************************************************************** | ||
|  |       * | ||
|  |      D adler32         PR            10U 0 extproc('adler32')                   New checksum | ||
|  |      D  adler                        10U 0 value                                Old checksum | ||
|  |      D  buf                       65535    const options(*varsize)              Bytes to accumulate | ||
|  |      D  len                          10U 0 value                                Buffer length | ||
|  |       * | ||
|  |      D adler32_combine... | ||
|  |                        PR            10U 0 extproc('adler32_combine')           New checksum | ||
|  |      D  adler1                       10U 0 value                                Old checksum | ||
|  |      D  adler2                       10U 0 value                                Old checksum | ||
|  |      D  len2                         20U 0 value                                Buffer length | ||
|  |       * | ||
|  |      D adler32_z       PR            10U 0 extproc('adler32_z')                 New checksum | ||
|  |      D  adler                        10U 0 value                                Old checksum | ||
|  |      D  buf                       65535    const options(*varsize)              Bytes to accumulate | ||
|  |      D  len                          20U 0 value                                Buffer length | ||
|  |       * | ||
|  |      D crc32           PR            10U 0 extproc('crc32')                     New checksum | ||
|  |      D  crc                          10U 0 value                                Old checksum | ||
|  |      D  buf                       65535    const options(*varsize)              Bytes to accumulate | ||
|  |      D  len                          10U 0 value                                Buffer length | ||
|  |       * | ||
|  |      D crc32_combine... | ||
|  |                        PR            10U 0 extproc('crc32_combine')             New checksum | ||
|  |      D  crc1                         10U 0 value                                Old checksum | ||
|  |      D  crc2                         10U 0 value                                Old checksum | ||
|  |      D  len2                         20U 0 value                                Buffer length | ||
|  |       * | ||
|  |      D crc32_z         PR            10U 0 extproc('crc32_z')                   New checksum | ||
|  |      D  crc                          10U 0 value                                Old checksum | ||
|  |      D  buf                       65535    const options(*varsize)              Bytes to accumulate | ||
|  |      D  len                          20U 0 value                                Buffer length | ||
|  |       * | ||
|  |       ************************************************************************** | ||
|  |       *                     Miscellaneous function prototypes | ||
|  |       ************************************************************************** | ||
|  |       * | ||
|  |      D zError          PR              *   extproc('zError')                    Error string | ||
|  |      D  err                          10I 0 value                                Error code | ||
|  |       * | ||
|  |      D inflateSyncPoint... | ||
|  |      D                 PR            10I 0 extproc('inflateSyncPoint') | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |       * | ||
|  |      D get_crc_table   PR              *   extproc('get_crc_table')             Ptr to ulongs | ||
|  |       * | ||
|  |      D inflateUndermine... | ||
|  |      D                 PR            10I 0 extproc('inflateUndermine') | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |      D  arg                          10I 0 value                                Error code | ||
|  |       * | ||
|  |      D inflateResetKeep... | ||
|  |      D                 PR            10I 0 extproc('inflateResetKeep')          End and init. stream | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |       * | ||
|  |      D deflateResetKeep... | ||
|  |      D                 PR            10I 0 extproc('deflateResetKeep')          End and init. stream | ||
|  |      D  strm                               like(z_stream)                       Expansion stream | ||
|  |       * | ||
|  |       /endif |