86 const size_t in_start = *
in_pos;
87 const size_t out_start = *
out_pos;
93 const size_t in_used = *
in_pos - in_start;
94 const size_t out_used = *
out_pos - out_start;
107 out + out_start, out_used);
157 const size_t check_size = lzma_check_size(coder->
block->
check);
167 && lzma_check_is_supported(coder->
block->
check)
200 if (lzma_block_unpadded_size(block) == 0
219 coder->
block = block;
230 - lzma_check_size(block->
check)
const lzma_allocator const uint8_t size_t uint8_t size_t * out_pos
const lzma_allocator const uint8_t size_t * in_pos
const lzma_allocator const uint8_t size_t in_size
const lzma_allocator * allocator
const lzma_allocator const uint8_t * in
const lzma_allocator const uint8_t size_t uint8_t * out
static void block_decoder_end(void *coder_ptr, const lzma_allocator *allocator)
lzma_ret lzma_block_decoder_init(lzma_next_coder *next, const lzma_allocator *allocator, lzma_block *block)
static bool update_size(lzma_vli *size, lzma_vli add, lzma_vli limit)
static bool is_size_valid(lzma_vli size, lzma_vli reference)
static lzma_ret block_decode(void *coder_ptr, const lzma_allocator *allocator, const uint8_t *restrict in, size_t *restrict in_pos, size_t in_size, uint8_t *restrict out, size_t *restrict out_pos, size_t out_size, lzma_action action)
void lzma_check_finish(lzma_check_state *check, lzma_check type)
Finish the check calculation and store the result to check->buffer.u8.
void lzma_check_update(lzma_check_state *check, lzma_check type, const uint8_t *buf, size_t size)
Update the check state.
void lzma_check_init(lzma_check_state *check, lzma_check type)
Initialize *check depending on type.
lzma_ret lzma_raw_decoder_init(lzma_next_coder *next, const lzma_allocator *allocator, const lzma_filter *options)
Filter ID mapping to filter-specific functions.
static uint32_t const uint8_t uint32_t uint32_t limit
Custom functions for memory handling.
lzma_check_state check
Check of the uncompressed data.
size_t check_pos
Position when reading the Check field.
enum lzma_block_coder::@643 sequence
lzma_next_coder next
The filters in the chain; initialized with lzma_raw_decoder_init().
bool ignore_check
True if the integrity check won't be calculated and verified.
lzma_vli uncompressed_size
Uncompressed Size calculated while decoding.
lzma_vli compressed_size
Compressed Size calculated while decoding.
lzma_vli compressed_limit
Options for the Block and Block Header encoders and decoders.
lzma_vli uncompressed_size
Uncompressed Size in bytes.
uint8_t raw_check[LZMA_CHECK_SIZE_MAX]
Raw value stored in the Check field.
lzma_bool ignore_check
A flag to Block decoder to not verify the Check field.
lzma_filter * filters
Array of filters.
uint32_t header_size
Size of the Block Header field.
lzma_check check
Type of integrity Check.
lzma_vli compressed_size
Size of the Compressed Data in bytes.
uint32_t version
Block format version.
Structure to hold internal state of the check being calculated.
union lzma_check_state::@638 buffer
Buffer to hold the final result and a temporary buffer for SHA256.
bool supported_actions[LZMA_ACTION_MAX+1]
Indicates which lzma_action values are allowed by next.code.
Hold data and function pointers of the next filter in the chain.
lzma_code_function code
Pointer to function to do the actual coding.
void * coder
Pointer to coder-specific data.
Passing data to and from liblzma.
#define LZMA_NEXT_CODER_INIT
Macro to initialize lzma_next_coder structure.
#define lzma_next_coder_init(func, next, allocator)
#define lzma_next_strm_init(func, strm,...)
void * lzma_alloc(size_t size, const lzma_allocator *allocator) lzma_attribute((__malloc__)) lzma_attr_alloc_size(1)
Allocates memory.
uint64_t lzma_vli
Variable-length integer type.
#define LZMA_VLI_C(n)
VLI constant suffix.
#define lzma_vli_is_valid(vli)
Validate a variable-length integer.
#define LZMA_VLI_UNKNOWN
VLI value to denote that the value is unknown.
#define LZMA_VLI_MAX
Maximum supported value of a variable-length integer.
lzma_ret
Return values used by several functions in liblzma.
@ LZMA_PROG_ERROR
Programming error.
@ LZMA_DATA_ERROR
Data is corrupt.
@ LZMA_MEM_ERROR
Cannot allocate memory.
@ LZMA_STREAM_END
End of stream was reached.
@ LZMA_OK
Operation completed successfully.
lzma_action
The ‘action’ argument for lzma_code()
@ LZMA_FINISH
Finish the coding operation.
@ LZMA_RUN
Continue coding.
void lzma_free(void *ptr, const lzma_allocator *allocator)
Frees memory.
size_t lzma_bufcpy(const uint8_t *restrict in, size_t *restrict in_pos, size_t in_size, uint8_t *restrict out, size_t *restrict out_pos, size_t out_size)
void lzma_next_end(lzma_next_coder *next, const lzma_allocator *allocator)