1 #ifndef _RAR_COMPRESS_ 2 #define _RAR_COMPRESS_ 3 4 class ComprDataIO; 5 class PackingFileTable; 6 7 #define MAX_LZ_MATCH 0x101 8 9 #define CODEBUFSIZE 0x4000 10 #define MAXWINSIZE 0x400000 11 #define MAXWINMASK (MAXWINSIZE-1) 12 13 #define LOW_DIST_REP_COUNT 16 14 15 #define NC 299 /* alphabet = {0, 1, 2, ..., NC - 1} */ 16 #define DC 60 17 #define LDC 17 18 #define RC 28 19 #define HUFF_TABLE_SIZE (NC+DC+RC+LDC) 20 #define BC 20 21 22 #define NC20 298 /* alphabet = {0, 1, 2, ..., NC - 1} */ 23 #define DC20 48 24 #define RC20 28 25 #define BC20 19 26 #define MC20 257 27 28 // Largest alphabet size among all values listed above. 29 #define LARGEST_TABLE_SIZE 299 30 31 enum {CODE_HUFFMAN,CODE_LZ,CODE_LZ2,CODE_REPEATLZ,CODE_CACHELZ, 32 CODE_STARTFILE,CODE_ENDFILE,CODE_VM,CODE_VMDATA}; 33 34 35 enum FilterType { 36 FILTER_NONE, FILTER_PPM /*dummy*/, FILTER_E8, FILTER_E8E9, 37 FILTER_UPCASETOLOW, FILTER_AUDIO, FILTER_RGB, FILTER_DELTA, 38 FILTER_ITANIUM, FILTER_E8E9V2 39 }; 40 41 #endif 42