|
iPXE
|
Decompressor. More...
#include <deflate.h>
Data Fields | |
| void * | resume |
| Resume point. More... | |
| enum deflate_format | format |
| Format. More... | |
| const uint8_t * | in |
| Current input data pointer. More... | |
| const uint8_t * | end |
| End of input data pointer. More... | |
| uint32_t | accumulator |
| Accumulator. More... | |
| uint32_t | rotalumucca |
| Bit-reversed accumulator. More... | |
| unsigned int | bits |
| Number of bits within the accumulator. More... | |
| unsigned int | header |
| Current block header. More... | |
| size_t | remaining |
| Remaining length of data (e.g. More... | |
| unsigned int | length_index |
| Current length index within a set of code lengths. More... | |
| unsigned int | length_target |
| Target length index within a set of code lengths. More... | |
| unsigned int | length |
| Current length within a set of code lengths. More... | |
| unsigned int | extra_bits |
| Number of extra bits required. More... | |
| size_t | dup_len |
| Length of a duplicated string. More... | |
| size_t | dup_distance |
| Distance of a duplicated string. More... | |
| struct deflate_alphabet | litlen |
| Literal/length Huffman alphabet. More... | |
| uint16_t | litlen_raw [DEFLATE_LITLEN_MAX_CODE+1] |
| Literal/length raw symbols. More... | |
| unsigned int | litlen_count |
| Number of symbols in the literal/length Huffman alphabet. More... | |
| struct deflate_alphabet | distance_codelen |
| Distance and code length Huffman alphabet. More... | |
| uint16_t | distance_codelen_raw [DEFLATE_DISTANCE_MAX_CODE+1] |
| Distance and code length raw symbols. More... | |
| unsigned int | distance_count |
| Number of symbols in the distance Huffman alphabet. More... | |
| uint8_t | lengths [((DEFLATE_LITLEN_MAX_CODE+1)+(DEFLATE_DISTANCE_MAX_CODE+1)+1)/2] |
| Huffman code lengths. More... | |
| void* deflate::resume |
Resume point.
Used as the target of a computed goto to jump to the appropriate point within the state machine.
Definition at line 161 of file deflate.h.
Referenced by deflate_finished(), and deflate_inflate().
| enum deflate_format deflate::format |
Format.
Definition at line 163 of file deflate.h.
Referenced by deflate_inflate(), and deflate_init().
| const uint8_t* deflate::in |
Current input data pointer.
Definition at line 166 of file deflate.h.
Referenced by deflate_accumulate(), deflate_inflate(), and deflate_okx().
| const uint8_t* deflate::end |
End of input data pointer.
Definition at line 168 of file deflate.h.
Referenced by deflate_accumulate(), deflate_inflate(), and deflate_okx().
| uint32_t deflate::accumulator |
Accumulator.
Definition at line 171 of file deflate.h.
Referenced by deflate_accumulate(), and deflate_consume().
| uint32_t deflate::rotalumucca |
Bit-reversed accumulator.
Don't ask.
Definition at line 176 of file deflate.h.
Referenced by deflate_accumulate(), deflate_consume(), and deflate_decode().
| unsigned int deflate::bits |
Number of bits within the accumulator.
Definition at line 178 of file deflate.h.
Referenced by deflate_accumulate(), deflate_consume(), deflate_decode(), and deflate_discard_to_byte().
| unsigned int deflate::header |
| size_t deflate::remaining |
Remaining length of data (e.g.
within a literal block)
Definition at line 183 of file deflate.h.
Referenced by deflate_inflate().
| unsigned int deflate::length_index |
Current length index within a set of code lengths.
Definition at line 185 of file deflate.h.
Referenced by deflate_inflate().
| unsigned int deflate::length_target |
Target length index within a set of code lengths.
Definition at line 187 of file deflate.h.
Referenced by deflate_inflate().
| unsigned int deflate::length |
Current length within a set of code lengths.
Definition at line 189 of file deflate.h.
Referenced by deflate_inflate().
| unsigned int deflate::extra_bits |
Number of extra bits required.
Definition at line 191 of file deflate.h.
Referenced by deflate_inflate().
| size_t deflate::dup_len |
Length of a duplicated string.
Definition at line 193 of file deflate.h.
Referenced by deflate_inflate().
| size_t deflate::dup_distance |
Distance of a duplicated string.
Definition at line 195 of file deflate.h.
Referenced by deflate_inflate().
| struct deflate_alphabet deflate::litlen |
Literal/length Huffman alphabet.
Definition at line 198 of file deflate.h.
Referenced by deflate_alphabet_name(), and deflate_inflate().
| uint16_t deflate::litlen_raw[DEFLATE_LITLEN_MAX_CODE+1] |
| unsigned int deflate::litlen_count |
Number of symbols in the literal/length Huffman alphabet.
Definition at line 205 of file deflate.h.
Referenced by deflate_inflate().
| struct deflate_alphabet deflate::distance_codelen |
Distance and code length Huffman alphabet.
The code length Huffman alphabet has a maximum Huffman symbol length of 7 and a maximum code value of 18, and is thus strictly smaller than the distance Huffman alphabet. Since we never need both alphabets simultaneously, we can reuse the storage space for the distance alphabet to temporarily hold the code length alphabet.
Definition at line 216 of file deflate.h.
Referenced by deflate_alphabet_name(), and deflate_inflate().
| uint16_t deflate::distance_codelen_raw[DEFLATE_DISTANCE_MAX_CODE+1] |
| unsigned int deflate::distance_count |
Number of symbols in the distance Huffman alphabet.
Definition at line 224 of file deflate.h.
Referenced by deflate_inflate().
| uint8_t deflate::lengths[((DEFLATE_LITLEN_MAX_CODE+1)+(DEFLATE_DISTANCE_MAX_CODE+1)+ 1)/2] |
Huffman code lengths.
The literal/length and distance code lengths are constructed as a single set of lengths.
The code length Huffman alphabet has a maximum code value of 18 and the set of lengths is thus strictly smaller than the combined literal/length and distance set of lengths. Since we never need both alphabets simultaneously, we can reuse the storage space for the literal/length and distance code lengths to temporarily hold the code length code lengths.
Definition at line 241 of file deflate.h.
Referenced by deflate_inflate(), deflate_length(), and deflate_set_length().
1.8.15