Redline/LZRW.H

1 line
15 KiB
C++
Raw Normal View History

2016-04-02 13:49:00 +00:00
LZRW HEADER FILES ================= Author : Ross Williams. Date : 25-Jun-1991. 1. This file contains two header files used by the LZRW series data compression algorithms: compress.h - The header file for the algorithms. port.h - Contains portability definitions. 2. This code is public domain. 3. port.h is included only as an example. Please ensure that your own definitions for these macros are correct. UPDATED ======= Author : Matt Slot, Ambrosia Software. Date : 18-Jan-2007. Added dst_max field, routine now returns -1 instead of writing past buffer. This change is also public domain. /******************************************************************************/ /* */ /* COMPRESS.H */ /* */ /******************************************************************************/ /* */ /* Author : Ross Williams. */ /* Date : December 1989. */ /* */ /* This header file defines the interface to a set of functions called */ /* 'compress', each member of which implements a particular data compression */ /* algorithm. */ /* */ /* Normally in C programming, for each .H file, there is a corresponding .C */ /* file that implements the functions promised in the .H file. */ /* Here, there are many .C files corresponding to this header file. */ /* Each comforming implementation file contains a single function */ /* called 'compress' that implements a single data compression */ /* algorithm that conforms with the interface specified in this header file. */ /* Only one algorithm can be linked in at a time in this organization. */ /* */ /******************************************************************************/ /* */ /* DEFINITION OF FUNCTION COMPRESS */ /* =============================== */ /* */ /* Summary of Function Compress */ /* ---------------------------- */ /* The action that 'compress' takes depends on its first argument called */ /* 'action'. The function provides three actions: */ /* */ /* - Return information about the algorithm. */ /* - Compress a block of memory. */ /* - Decompress a block of memory. */ /* */ /* Parameters */ /* ---------- */ /* See the formal C definition later for a description of the parameters. */ /* */ /* Constants */ /* --------- */ /* COMPRESS_OVERRUN: The constant COMPRESS_OVERRUN defines by how many bytes */ /* an algorithm is allowed to expand a block during a compression op