mirror of https://github.com/madler/zlib.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
527 lines
32 KiB
527 lines
32 KiB
* ZLIB.INC - Interface to the general purpose compression library |
|
* |
|
* ILE RPG400 version by Patrick Monnerat, DATASPHERE. |
|
* Version 1.3.0 |
|
* |
|
* |
|
* 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.3.0' |
|
D ZLIB_VERNUM C X'12a0' |
|
D ZLIB_VER_MAJOR C 1 |
|
D ZLIB_VER_MINOR C 3 |
|
D ZLIB_VER_REVISION... |
|
D C 0 |
|
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
|
|
|