lzma_filter Struct Reference

Filter options. More...

#include <filter.h>


Data Fields

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


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.


Field Documentation

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.

Referenced by coder_add_filter(), lzma_filters_update(), and message_filters().

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.

Some filters support changing the options in the middle of the encoding process. These filters store the pointer of the options structure and communicate with the application via modifications of the options structure.

Referenced by coder_add_filter(), is_format_lzma(), lzmainfo(), and message_filters().


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

Generated on Wed Feb 17 14:53:46 2010 for XZ Utils by  doxygen 1.5.6