lzma_internal_s Struct Reference

`#include <common.h>`

## Public Types

enum | { ISEQ_RUN , ISEQ_SYNC_FLUSH , ISEQ_FULL_FLUSH , ISEQ_FINISH , ISEQ_FULL_BARRIER , ISEQ_END , ISEQ_ERROR }

## Data Fields

lzma_next_coder | next
| The actual coder that should do something useful. More...
enum lzma_internal_s:: { ... } | sequence
size_t | avail_in
bool | supported_actions [LZMA_ACTION_MAX+1]
| Indicates which lzma_action values are allowed by next.code. More...
bool | allow_buf_error

## Detailed Description

Internal data for lzma_strm_init, lzma_code, and lzma_end. A pointer to this is stored in lzma_stream.

## Member Enumeration Documentation

## anonymous enum

anonymous enum

Track the state of the coder. This is used to validate arguments so that the actual coders can rely on e.g. that LZMA_SYNC_FLUSH is used on every call to lzma_code until next.code has returned LZMA_STREAM_END.

## Field Documentation

## next

lzma_next_coder lzma_internal_s::next

The actual coder that should do something useful.

Referenced by lzma_code(), lzma_end(), lzma_filters_update(), lzma_get_check(), lzma_get_progress(), lzma_memlimit_get(), lzma_memlimit_set(), lzma_memusage(), and lzma_strm_init().

##

enum { ... } lzma_internal_s::sequence

Track the state of the coder. This is used to validate arguments so that the actual coders can rely on e.g. that LZMA_SYNC_FLUSH is used on every call to lzma_code until next.code has returned LZMA_STREAM_END.

## avail_in

size_t lzma_internal_s::avail_in

A copy of lzma_stream avail_in. This is used to verify that the amount of input doesn't change once e.g. LZMA_FINISH has been used.

## supported_actions

bool lzma_internal_s::supported_actions[LZMA_ACTION_MAX+1]

Indicates which lzma_action values are allowed by next.code.

Referenced by lzma_code().

## allow_buf_error

bool lzma_internal_s::allow_buf_error

If true, lzma_code will return LZMA_BUF_ERROR if no progress was made (no input consumed and no output produced by next.code).

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

- liblzma/common/common.h