1 /* 2 File lzx_constants.h, part of lzxcomp library 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU Lesser General Public License as published by 6 the Free Software Foundation; version 2.1 only 7 8 This program is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 GNU Lesser General Public License for more details. 12 13 You should have received a copy of the GNU Lesser General Public License 14 along with this program; if not, write to the Free Software 15 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 16 17 -------------------------------------- 18 The above lines apply to the lzxcomp library as a whole. This file, 19 lzx_constants.h, however, is probably uncopyrightable, and in any 20 case I explicitly place it in the public domain. 21 22 Matthew T. Russotto 23 */ 24 25 /* these named constants are from the Microsoft LZX documentation */ 26 #define MIN_MATCH 2 27 #define MAX_MATCH 257 28 #define NUM_CHARS 256 29 #define NUM_PRIMARY_LENGTHS 7 30 #define NUM_SECONDARY_LENGTHS 249 31 32 /* the names of these constants are specific to this library */ 33 #define LZX_MAX_CODE_LENGTH 16 34 #define LZX_FRAME_SIZE 32768 35 #define LZX_PRETREE_SIZE 20 36 #define LZX_ALIGNED_BITS 3 37 #define LZX_ALIGNED_SIZE 8 38 39 #define LZX_VERBATIM_BLOCK 1 40 #define LZX_ALIGNED_OFFSET_BLOCK 2 41