Path: blob/master/Utilities/cmliblzma/liblzma/lzma/lzma_decoder.h
3156 views
// SPDX-License-Identifier: 0BSD12///////////////////////////////////////////////////////////////////////////////3//4/// \file lzma_decoder.h5/// \brief LZMA decoder API6///7// Authors: Igor Pavlov8// Lasse Collin9//10///////////////////////////////////////////////////////////////////////////////1112#ifndef LZMA_LZMA_DECODER_H13#define LZMA_LZMA_DECODER_H1415#include "common.h"161718/// Allocates and initializes LZMA decoder19extern lzma_ret lzma_lzma_decoder_init(lzma_next_coder *next,20const lzma_allocator *allocator,21const lzma_filter_info *filters);2223extern uint64_t lzma_lzma_decoder_memusage(const void *options);2425extern lzma_ret lzma_lzma_props_decode(26void **options, const lzma_allocator *allocator,27const uint8_t *props, size_t props_size);282930/// \brief Decodes the LZMA Properties byte (lc/lp/pb)31///32/// \return true if error occurred, false on success33///34extern bool lzma_lzma_lclppb_decode(35lzma_options_lzma *options, uint8_t byte);363738#ifdef LZMA_LZ_DECODER_H39/// Allocate and setup function pointers only. This is used by LZMA1 and40/// LZMA2 decoders.41extern lzma_ret lzma_lzma_decoder_create(42lzma_lz_decoder *lz, const lzma_allocator *allocator,43const lzma_options_lzma *opt, lzma_lz_options *lz_options);4445/// Gets memory usage without validating lc/lp/pb. This is used by LZMA246/// decoder, because raw LZMA2 decoding doesn't need lc/lp/pb.47extern uint64_t lzma_lzma_decoder_memusage_nocheck(const void *options);4849#endif5051#endif525354