1 This directory contains examples of the use of zlib and other relevant 2 programs and documentation. 3 4 enough.c 5 calculation and justification of ENOUGH parameter in inftrees.h 6 - calculates the maximum table space used in inflate tree 7 construction over all possible Huffman codes 8 9 fitblk.c 10 compress just enough input to nearly fill a requested output size 11 - zlib isn't designed to do this, but fitblk does it anyway 12 13 gun.c 14 uncompress a gzip file 15 - illustrates the use of inflateBack() for high speed file-to-file 16 decompression using call-back functions 17 - is approximately twice as fast as gzip -d 18 - also provides Unix uncompress functionality, again twice as fast 19 20 gzappend.c 21 append to a gzip file 22 - illustrates the use of the Z_BLOCK flush parameter for inflate() 23 - illustrates the use of deflatePrime() to start at any bit 24 25 gzjoin.c 26 join gzip files without recalculating the crc or recompressing 27 - illustrates the use of the Z_BLOCK flush parameter for inflate() 28 - illustrates the use of crc32_combine() 29 30 gzlog.c 31 gzlog.h 32 efficiently and robustly maintain a message log file in gzip format 33 - illustrates use of raw deflate, Z_PARTIAL_FLUSH, deflatePrime(), 34 and deflateSetDictionary() 35 - illustrates use of a gzip header extra field 36 37 zlib_how.html 38 painfully comprehensive description of zpipe.c (see below) 39 - describes in excruciating detail the use of deflate() and inflate() 40 41 zpipe.c 42 reads and writes zlib streams from stdin to stdout 43 - illustrates the proper use of deflate() and inflate() 44 - deeply commented in zlib_how.html (see above) 45 46 zran.c 47 index a zlib or gzip stream and randomly access it 48 - illustrates the use of Z_BLOCK, inflatePrime(), and 49 inflateSetDictionary() to provide random access