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 gznorm.c 38 normalize a gzip file by combining members into a single member 39 - demonstrates how to concatenate deflate streams using Z_BLOCK 40 41 zlib_how.html 42 painfully comprehensive description of zpipe.c (see below) 43 - describes in excruciating detail the use of deflate() and inflate() 44 45 zpipe.c 46 reads and writes zlib streams from stdin to stdout 47 - illustrates the proper use of deflate() and inflate() 48 - deeply commented in zlib_how.html (see above) 49 50 zran.c 51 zran.h 52 index a zlib or gzip stream and randomly access it 53 - illustrates the use of Z_BLOCK, inflatePrime(), and 54 inflateSetDictionary() to provide random access 55