The LZW functions simply compress and decompress data in memory buffers. dword lzw_compress(dest,src,size) is used to compress src and placing into dest for size bytes. It returns the size of the outputed data. void lzw_decompress(dest,src) is used to decompress src and places the data into dest. Returns only a error code if error occurs. That's it, plan and simple.