index_stream Struct Reference

## Data Fields

index_tree_node | node
| Every index_stream is a node in the tree of Streams. More...
uint32_t | number
| Number of this Stream (first one is 1) More...
lzma_vli | block_number_base
| Total number of Blocks before this Stream. More...
index_tree | groups
lzma_vli | record_count
| Number of Records in this Stream. More...
lzma_vli | index_list_size
lzma_stream_flags | stream_flags
lzma_vli | stream_padding

## Field Documentation

## node

index_tree_node index_stream::node

Every index_stream is a node in the tree of Streams.

## number

uint32_t index_stream::number

Number of this Stream (first one is 1)

## block_number_base

lzma_vli index_stream::block_number_base

Total number of Blocks before this Stream.

## groups

index_tree index_stream::groups

Record groups of this Stream are stored in a tree. It's a T-tree with AVL-tree balancing. There are INDEX_GROUP_SIZE Records per node by default. This keeps the number of memory allocations reasonable and finding a Record is fast.

## record_count

lzma_vli index_stream::record_count

Number of Records in this Stream.

## index_list_size

lzma_vli index_stream::index_list_size

Size of the List of Records field in this Stream. This is used together with record_count to calculate the size of the Index field and thus the total size of the Stream.

## stream_flags

lzma_stream_flags index_stream::stream_flags

Stream Flags of this Stream. This is meaningful only if the Stream Flags have been told us with lzma_index_stream_flags(). Initially stream_flags.version is set to UINT32_MAX to indicate that the Stream Flags are unknown.

Referenced by lzma_index_stream_flags().

## stream_padding

lzma_vli index_stream::stream_padding

Amount of Stream Padding after this Stream. This defaults to zero and can be set with lzma_index_stream_padding().

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

- liblzma/common/index.c