Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Utilities/cmliblzma/liblzma/lzma/lzma_decoder.h
3156 views
1
// SPDX-License-Identifier: 0BSD
2
3
///////////////////////////////////////////////////////////////////////////////
4
//
5
/// \file lzma_decoder.h
6
/// \brief LZMA decoder API
7
///
8
// Authors: Igor Pavlov
9
// Lasse Collin
10
//
11
///////////////////////////////////////////////////////////////////////////////
12
13
#ifndef LZMA_LZMA_DECODER_H
14
#define LZMA_LZMA_DECODER_H
15
16
#include "common.h"
17
18
19
/// Allocates and initializes LZMA decoder
20
extern lzma_ret lzma_lzma_decoder_init(lzma_next_coder *next,
21
const lzma_allocator *allocator,
22
const lzma_filter_info *filters);
23
24
extern uint64_t lzma_lzma_decoder_memusage(const void *options);
25
26
extern lzma_ret lzma_lzma_props_decode(
27
void **options, const lzma_allocator *allocator,
28
const uint8_t *props, size_t props_size);
29
30
31
/// \brief Decodes the LZMA Properties byte (lc/lp/pb)
32
///
33
/// \return true if error occurred, false on success
34
///
35
extern bool lzma_lzma_lclppb_decode(
36
lzma_options_lzma *options, uint8_t byte);
37
38
39
#ifdef LZMA_LZ_DECODER_H
40
/// Allocate and setup function pointers only. This is used by LZMA1 and
41
/// LZMA2 decoders.
42
extern lzma_ret lzma_lzma_decoder_create(
43
lzma_lz_decoder *lz, const lzma_allocator *allocator,
44
const lzma_options_lzma *opt, lzma_lz_options *lz_options);
45
46
/// Gets memory usage without validating lc/lp/pb. This is used by LZMA2
47
/// decoder, because raw LZMA2 decoding doesn't need lc/lp/pb.
48
extern uint64_t lzma_lzma_decoder_memusage_nocheck(const void *options);
49
50
#endif
51
52
#endif
53
54