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