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
							 |