22 int ZEXPORT 
compress2 (Bytef *dest, uLongf *destLen, 
const Bytef *source, uLong sourceLen, 
int level)
 
   27     stream.next_in = (Bytef*)source;
 
   28     stream.avail_in = (uInt)sourceLen;
 
   31     if ((uLong)stream.avail_in != sourceLen) 
return Z_BUF_ERROR;
 
   33     stream.next_out = dest;
 
   34     stream.avail_out = (uInt)*destLen;
 
   35     if ((uLong)stream.avail_out != *destLen) 
return Z_BUF_ERROR;
 
   37     stream.zalloc = (alloc_func)0;
 
   38     stream.zfree = (free_func)0;
 
   39     stream.opaque = (voidpf)0;
 
   41     err = deflateInit(&stream, level);
 
   42     if (err != Z_OK) 
return err;
 
   44     err = 
deflate(&stream, Z_FINISH);
 
   45     if (err != Z_STREAM_END) {
 
   47         return err == Z_OK ? Z_BUF_ERROR : err;
 
   49     *destLen = stream.total_out;
 
   57 int ZEXPORT 
compress (Bytef *dest, uLongf *destLen, 
const Bytef *source, uLong sourceLen)
 
   59     return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION);
 
   68     return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
 
   69            (sourceLen >> 25) + 13;
 
int ZEXPORT deflateEnd(z_streamp strm)
 
uLong ZEXPORT compressBound(uLong sourceLen)
 
int ZEXPORT deflate(z_streamp strm, int flush)
 
int ZEXPORT compress(Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen)
 
int ZEXPORT compress2(Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen, int level)