Important note: Specifications have changed during the beta test phase of version 1.20, which has now ended. Contrary to previously announced, backwards compatibility with version 1.00 and 1.10 has been abandoned; data compressed with version 1.00 or 1.10 cannot be decompressed with version 1.20 or vice versa. Also, streaming compression requires allocation of STREAM_BUFFER_SIZE bytes, which is 1000000 by default, instead of 120000 and 82000.
Two of the central functions are:
unsigned int qlz_compress(const void *source, char *destination, unsigned int size)
unsigned int qlz_decompress(const char *source, void *destination)
To compress data, simply allocate "uncompressed size" + 36000 bytes for the destination buffer and call qlz_compress(). See the manual for details, sample code and tuning information.
New in 1.20
Version 1.20 (final)
15-Mar-2007 Now with streaming compression for optimal compression ratio of small packets down to 400-500 bytes in size. Also removed size and time overhead from the normal qlz_compress() so that it is suitable for smaller data sources. It is not backwards compatible with version 1.00 and 1.10; data compressed with version 1.00 or 1.10 cannot be decompressed with version 1.20 or vice versa.