Rizin
unix-like reverse engineering framework and cli tools
lzma_filter Struct Reference

Filter options. More...

#include <filter.h>

Public Attributes

lzma_vli id
 Filter ID. More...
 
void * options
 Pointer to filter-specific options structure. More...
 

Detailed Description

Filter options.

This structure is used to pass Filter ID and a pointer filter's options to liblzma. A few functions work with a single lzma_filter structure, while most functions expect a filter chain.

A filter chain is indicated with an array of lzma_filter structures. The array is terminated with .id = LZMA_VLI_UNKNOWN. Thus, the filter array must have LZMA_FILTERS_MAX + 1 elements (that is, five) to be able to hold any arbitrary filter chain. This is important when using lzma_block_header_decode() from block.h, because too small array would make liblzma write past the end of the filters array.

Definition at line 43 of file filter.h.

Member Data Documentation

◆ id

lzma_vli lzma_filter::id

Filter ID.

Use constants whose name begin with ‘LZMA_FILTER_’ to specify different filters. In an array of lzma_filter structures, use LZMA_VLI_UNKNOWN to indicate end of filters.

Note
This is not an enum, because on some systems enums cannot be 64-bit.

Definition at line 54 of file filter.h.

Referenced by block_encode_uncompressed(), code(), coder_add_filter(), coder_init(), compress(), decode(), free_properties(), init_encoder(), capstone.CsInsn::insn_name(), LZMA_API(), lzma_easy_preset(), lzma_mt_block_size(), lzma_next_filter_init(), lzma_raw_coder_init(), main(), message_filters_to_str(), parse_block_header(), start(), stream_encoder_end(), stream_encoder_init(), stream_encoder_mt_end(), stream_encoder_mt_init(), stream_encoder_update(), and validate_chain().

◆ options

void* lzma_filter::options

Pointer to filter-specific options structure.

If the filter doesn't need options, set this to NULL. If id is set to LZMA_VLI_UNKNOWN, options is ignored, and thus doesn't need be initialized.

Definition at line 63 of file filter.h.

Referenced by cmd_descs_generate.CmdDesc::__str__(), block_encode_uncompressed(), code(), coder_add_filter(), coder_init(), forget_filter_chain(), free_properties(), LZMA_API(), lzma_delta_coder_init(), lzma_easy_preset(), lzma_lz_decoder_init(), lzma_lz_encoder_init(), lzma_raw_coder_init(), lzma_simple_coder_init(), main(), message_filters_to_str(), start(), stream_encoder_end(), stream_encoder_mt_end(), stream_encoder_mt_init(), and stream_encoder_update().


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