Data Structures | Functions

/tmp/buildd/xz-utils-5.0.0/src/liblzma/common/auto_decoder.c File Reference

Autodetect between .xz Stream and .lzma (LZMA_Alone) formats. More...

#include "stream_decoder.h"
#include "alone_decoder.h"

Data Structures

struct  lzma_coder_s

Functions

static lzma_ret auto_decode (lzma_coder *coder, lzma_allocator *allocator, const uint8_t *restrict in, size_t *restrict in_pos, size_t in_size, uint8_t *restrict out, size_t *restrict out_pos, size_t out_size, lzma_action action)
static void auto_decoder_end (lzma_coder *coder, lzma_allocator *allocator)
static lzma_check auto_decoder_get_check (const lzma_coder *coder)
static lzma_ret auto_decoder_memconfig (lzma_coder *coder, uint64_t *memusage, uint64_t *old_memlimit, uint64_t new_memlimit)
static lzma_ret auto_decoder_init (lzma_next_coder *next, lzma_allocator *allocator, uint64_t memlimit, uint32_t flags)
lzma_ret lzma_auto_decoder (lzma_stream *strm, uint64_t memlimit, uint32_t flags)
 Decode .xz Streams and .lzma files with autodetection.

Detailed Description

Autodetect between .xz Stream and .lzma (LZMA_Alone) formats.


Function Documentation

lzma_ret lzma_auto_decoder ( lzma_stream strm,
uint64_t  memlimit,
uint32_t  flags 
)

Decode .xz Streams and .lzma files with autodetection.

This decoder autodetects between the .xz and .lzma file formats, and calls lzma_stream_decoder() or lzma_alone_decoder() once the type of the input file has been detected.

Parameters:
strm Pointer to properly prepared lzma_stream
memlimit Memory usage limit as bytes. Use UINT64_MAX to effectively disable the limiter.
flags Bitwise-or of flags, or zero for no flags.
Returns:
- LZMA_OK: Initialization was successful.
  • LZMA_MEM_ERROR: Cannot allocate memory.
  • LZMA_OPTIONS_ERROR: Unsupported flags
  • LZMA_PROG_ERROR

References lzma_next_strm_init.