lzma_next_coder_s Struct Reference

Hold data and function pointers of the next filter in the chain. More...

`#include <common.h>`

## Data Fields

void * | coder
| Pointer to coder-specific data. More...
lzma_vli | id
uintptr_t | init
lzma_code_function | code
| Pointer to function to do the actual coding. More...
lzma_end_function | end
void(* | get_progress )(void *coder, uint64_t *progress_in, uint64_t *progress_out)
lzma_check(* | get_check )(const void *coder)
lzma_ret(* | memconfig )(void *coder, uint64_t *memusage, uint64_t *old_memlimit, uint64_t new_memlimit)
lzma_ret(* | update )(void *coder, const lzma_allocator *allocator, const lzma_filter *filters, const lzma_filter *reversed_filters)

## Detailed Description

Hold data and function pointers of the next filter in the chain.

## Field Documentation

## coder

void* lzma_next_coder_s::coder

Pointer to coder-specific data.

Referenced by lzma_get_check(), lzma_get_progress(), lzma_memlimit_get(), lzma_memlimit_set(), and lzma_memusage().

## id

lzma_vli lzma_next_coder_s::id

Filter ID. This is LZMA_VLI_UNKNOWN when this structure doesn't point to a filter coder.

## init

uintptr_t lzma_next_coder_s::init

"Pointer" to init function. This is never called here. We need only to detect if we are initializing a coder that was allocated earlier. See lzma_next_coder_init and lzma_next_strm_init macros in this file.

## code

lzma_code_function lzma_next_coder_s::code

Pointer to function to do the actual coding.

Referenced by lzma_code().

## end

lzma_end_function lzma_next_coder_s::end

Pointer to function to free lzma_next_coder.coder. This can be NULL; in that case, lzma_free is called to free lzma_next_coder.coder.

## get_progress

void(* lzma_next_coder_s::get_progress) (void *coder, uint64_t *progress_in, uint64_t *progress_out)

Pointer to a function to get progress information. If this is NULL, lzma_stream.total_in and .total_out are used instead.

Referenced by lzma_get_progress().

## get_check

lzma_check(* lzma_next_coder_s::get_check) (const void *coder)

Pointer to function to return the type of the integrity check. Most coders won't support this.

Referenced by lzma_get_check().

## memconfig

lzma_ret(* lzma_next_coder_s::memconfig) (void *coder, uint64_t *memusage, uint64_t *old_memlimit, uint64_t new_memlimit)

Pointer to function to get and/or change the memory usage limit. If new_memlimit == 0, the limit is not changed.

Referenced by lzma_memlimit_get(), lzma_memlimit_set(), and lzma_memusage().

## update

lzma_ret(* lzma_next_coder_s::update) (void *coder, const lzma_allocator *allocator, const lzma_filter *filters, const lzma_filter *reversed_filters)

Update the filter-specific options or the whole filter chain in the encoder.

Referenced by lzma_filters_update().

The documentation for this struct was generated from the following file:

- liblzma/common/common.h