Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
lzma_stream_coder_s Struct Reference

Public Types

enum  { SEQ_STREAM_HEADER , SEQ_BLOCK , SEQ_INDEX , SEQ_STREAM_FOOTER }
 
enum  { SEQ_STREAM_HEADER , SEQ_BLOCK , SEQ_INDEX , SEQ_STREAM_FOOTER }
 
enum  { SEQ_STREAM_HEADER , SEQ_BLOCK , SEQ_INDEX , SEQ_STREAM_FOOTER }
 

Data Fields

enum lzma_stream_coder_s:: { ... }  sequence
 
size_t block_size
 
lzma_filter filters [LZMA_FILTERS_MAX+1]
 
lzma_filter filters_cache [LZMA_FILTERS_MAX+1]
 
lzma_indexindex
 Index to hold sizes of the Blocks.
 
lzma_next_coder index_encoder
 Index encoder.
 
lzma_stream_flags stream_flags
 Stream Flags for encoding the Stream Header and Stream Footer.
 
uint8_t header [LZMA_STREAM_HEADER_SIZE]
 Buffer to hold Stream Header and Stream Footer.
 
size_t header_pos
 Read position in header[].
 
lzma_outq outq
 Output buffer queue for compressed data.
 
size_t outbuf_alloc_size
 How much memory to allocate for each lzma_outbuf.buf.
 
uint32_t timeout
 
lzma_ret thread_error
 Error code from a worker thread.
 
worker_threadthreads
 Array of allocated thread-specific structures.
 
uint32_t threads_max
 
uint32_t threads_initialized
 
worker_threadthreads_free
 
worker_threadthr
 
uint64_t progress_in
 
uint64_t progress_out
 
mythread_mutex mutex
 
mythread_cond cond
 
enum lzma_stream_coder_s:: { ... }  sequence
 
enum lzma_stream_coder_s:: { ... }  sequence
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
SEQ_STREAM_HEADER 
SEQ_BLOCK 
SEQ_INDEX 
SEQ_STREAM_FOOTER 

◆ anonymous enum

anonymous enum
Enumerator
SEQ_STREAM_HEADER 
SEQ_BLOCK 
SEQ_INDEX 
SEQ_STREAM_FOOTER 

◆ anonymous enum

anonymous enum
Enumerator
SEQ_STREAM_HEADER 
SEQ_BLOCK 
SEQ_INDEX 
SEQ_STREAM_FOOTER 

Field Documentation

◆ block_size

size_t block_size

Start a new Block every block_size bytes of input unless LZMA_FULL_FLUSH or LZMA_FULL_BARRIER is used earlier.

◆ cond

mythread_cond cond

◆ filters

lzma_filter filters

The filter chain to use for the next Block. This can be updated using lzma_filters_update() after LZMA_FULL_BARRIER or LZMA_FULL_FLUSH.

◆ filters_cache

lzma_filter filters_cache

A copy of filters[] will be put here when attempting to get a new worker thread. This will be copied to a worker thread when a thread becomes free and then this cache is marked as empty by setting [0].id = LZMA_VLI_UNKNOWN. Without this cache the filter options from filters[] would get uselessly copied multiple times (allocated and freed) when waiting for a new free worker thread.

This is freed if filters[] is updated via lzma_filters_update().

◆ header

uint8_t header

Buffer to hold Stream Header and Stream Footer.

◆ header_pos

size_t header_pos

Read position in header[].

◆ index

lzma_index * index

Index to hold sizes of the Blocks.

◆ index_encoder

lzma_next_coder index_encoder

Index encoder.

◆ mutex

mythread_mutex mutex

◆ outbuf_alloc_size

size_t outbuf_alloc_size

How much memory to allocate for each lzma_outbuf.buf.

◆ outq

lzma_outq outq

Output buffer queue for compressed data.

◆ progress_in

uint64_t progress_in

Amount of uncompressed data in Blocks that have already been finished.

◆ progress_out

uint64_t progress_out

Amount of compressed data in Stream Header + Blocks that have already been finished.

◆ [] [1/3]

enum { ... } sequence

◆ [] [2/3]

enum { ... } sequence

◆ [] [3/3]

enum { ... } sequence

◆ stream_flags

lzma_stream_flags stream_flags

Stream Flags for encoding the Stream Header and Stream Footer.

◆ thr

The most recent worker thread to which the main thread writes the new input from the application.

◆ thread_error

lzma_ret thread_error

Error code from a worker thread.

◆ threads

worker_thread * threads

Array of allocated thread-specific structures.

◆ threads_free

worker_thread * threads_free

Stack of free threads. When a thread finishes, it puts itself back into this stack. This starts as empty because threads are created only when actually needed.

◆ threads_initialized

uint32_t threads_initialized

Number of thread structures that have been initialized, and thus the number of worker threads actually created so far.

◆ threads_max

uint32_t threads_max

Number of structures in "threads" above. This is also the number of threads that will be created at maximum.

◆ timeout

uint32_t timeout

Maximum wait time if cannot use all the input and cannot fill the output buffer. This is in milliseconds.


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