diff options
Diffstat (limited to 'inftrees.h')
-rw-r--r-- | inftrees.h | 15 |
1 files changed, 2 insertions, 13 deletions
@@ -9,24 +9,13 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | /* Huffman code lookup table entry--this entry is four bytes for machines | 11 | /* Huffman code lookup table entry--this entry is four bytes for machines |
12 | that have 16-bit pointers (e.g. PC's in the small or medium model). | 12 | that have 16-bit pointers (e.g. PC's in the small or medium model). */ |
13 | Valid extra bits (exop) are 0..13. exop == -64 is EOB (end of block), | ||
14 | exop == 16 means that v is a literal, exop < 0 means that v is a pointer | ||
15 | to the next table, which codes -exop bits, and lastly exop == -128 | ||
16 | indicates an unused code. If a code with exop == -128 is looked up, | ||
17 | this implies an error in the data. */ | ||
18 | |||
19 | #if defined(STDC) || defined(sgi) | ||
20 | typedef signed char Char; | ||
21 | #else | ||
22 | typedef char Char; /* just hope that char is signed */ | ||
23 | #endif | ||
24 | 13 | ||
25 | typedef struct inflate_huft_s inflate_huft; | 14 | typedef struct inflate_huft_s inflate_huft; |
26 | struct inflate_huft_s { | 15 | struct inflate_huft_s { |
27 | union { | 16 | union { |
28 | struct { | 17 | struct { |
29 | Char Exop; /* number of extra bits or operation */ | 18 | Byte Exop; /* number of extra bits or operation */ |
30 | Byte Bits; /* number of bits in this code or subcode */ | 19 | Byte Bits; /* number of bits in this code or subcode */ |
31 | } what; | 20 | } what; |
32 | Byte *pad; /* pad structure to a power of 2 (4 bytes for */ | 21 | Byte *pad; /* pad structure to a power of 2 (4 bytes for */ |