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