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