(root)/
xz-5.4.5/
src/
liblzma/
lzma/
lzma_decoder.h
       1  ///////////////////////////////////////////////////////////////////////////////
       2  //
       3  /// \file       lzma_decoder.h
       4  /// \brief      LZMA decoder API
       5  ///
       6  //  Authors:    Igor Pavlov
       7  //              Lasse Collin
       8  //
       9  //  This file has been put into the public domain.
      10  //  You can do whatever you want with this file.
      11  //
      12  ///////////////////////////////////////////////////////////////////////////////
      13  
      14  #ifndef LZMA_LZMA_DECODER_H
      15  #define LZMA_LZMA_DECODER_H
      16  
      17  #include "common.h"
      18  
      19  
      20  /// Allocates and initializes LZMA decoder
      21  extern lzma_ret lzma_lzma_decoder_init(lzma_next_coder *next,
      22  		const lzma_allocator *allocator,
      23  		const lzma_filter_info *filters);
      24  
      25  extern uint64_t lzma_lzma_decoder_memusage(const void *options);
      26  
      27  extern lzma_ret lzma_lzma_props_decode(
      28  		void **options, const lzma_allocator *allocator,
      29  		const uint8_t *props, size_t props_size);
      30  
      31  
      32  /// \brief      Decodes the LZMA Properties byte (lc/lp/pb)
      33  ///
      34  /// \return     true if error occurred, false on success
      35  ///
      36  extern bool lzma_lzma_lclppb_decode(
      37  		lzma_options_lzma *options, uint8_t byte);
      38  
      39  
      40  #ifdef LZMA_LZ_DECODER_H
      41  /// Allocate and setup function pointers only. This is used by LZMA1 and
      42  /// LZMA2 decoders.
      43  extern lzma_ret lzma_lzma_decoder_create(
      44  		lzma_lz_decoder *lz, const lzma_allocator *allocator,
      45  		const lzma_options_lzma *opt, lzma_lz_options *lz_options);
      46  
      47  /// Gets memory usage without validating lc/lp/pb. This is used by LZMA2
      48  /// decoder, because raw LZMA2 decoding doesn't need lc/lp/pb.
      49  extern uint64_t lzma_lzma_decoder_memusage_nocheck(const void *options);
      50  
      51  #endif
      52  
      53  #endif