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