summaryrefslogtreecommitdiffstats
path: root/contrib/xz/src/liblzma/lzma/lzma_decoder.h
diff options
context:
space:
mode:
authormm <mm@FreeBSD.org>2010-05-10 06:59:50 +0000
committermm <mm@FreeBSD.org>2010-05-10 06:59:50 +0000
commit5c358d45429b654efa9c8177ecd370a7965ec1a7 (patch)
treed2d916954c6a66a3168ee356b5f24da01c2017d6 /contrib/xz/src/liblzma/lzma/lzma_decoder.h
parent3e09decd1986826f54af1a47be97bb87c1220783 (diff)
parent1008b7c6744a190c5b15aaf8cab1054671e4c7c3 (diff)
downloadFreeBSD-src-5c358d45429b654efa9c8177ecd370a7965ec1a7.zip
FreeBSD-src-5c358d45429b654efa9c8177ecd370a7965ec1a7.tar.gz
Import of liblzma, xz, xzdec, lzmainfo from vendor branch
Add support for xz and lzma to lesspipe.sh (xzless, lzless) Bump __FreeBSD_version Approved by: delphij (mentor) MFC after: 2 weeks
Diffstat (limited to 'contrib/xz/src/liblzma/lzma/lzma_decoder.h')
-rw-r--r--contrib/xz/src/liblzma/lzma/lzma_decoder.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/contrib/xz/src/liblzma/lzma/lzma_decoder.h b/contrib/xz/src/liblzma/lzma/lzma_decoder.h
new file mode 100644
index 0000000..a463a76
--- /dev/null
+++ b/contrib/xz/src/liblzma/lzma/lzma_decoder.h
@@ -0,0 +1,52 @@
+///////////////////////////////////////////////////////////////////////////////
+//
+/// \file lzma_decoder.h
+/// \brief LZMA decoder API
+///
+// Authors: Igor Pavlov
+// Lasse Collin
+//
+// This file has been put into the public domain.
+// You can do whatever you want with this file.
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef LZMA_LZMA_DECODER_H
+#define LZMA_LZMA_DECODER_H
+
+#include "common.h"
+
+
+/// Allocates and initializes LZMA decoder
+extern lzma_ret lzma_lzma_decoder_init(lzma_next_coder *next,
+ lzma_allocator *allocator, const lzma_filter_info *filters);
+
+extern uint64_t lzma_lzma_decoder_memusage(const void *options);
+
+extern lzma_ret lzma_lzma_props_decode(
+ void **options, lzma_allocator *allocator,
+ const uint8_t *props, size_t props_size);
+
+
+/// \brief Decodes the LZMA Properties byte (lc/lp/pb)
+///
+/// \return true if error occurred, false on success
+///
+extern bool lzma_lzma_lclppb_decode(
+ lzma_options_lzma *options, uint8_t byte);
+
+
+#ifdef LZMA_LZ_DECODER_H
+/// Allocate and setup function pointers only. This is used by LZMA1 and
+/// LZMA2 decoders.
+extern lzma_ret lzma_lzma_decoder_create(
+ lzma_lz_decoder *lz, lzma_allocator *allocator,
+ const void *opt, lzma_lz_options *lz_options);
+
+/// Gets memory usage without validating lc/lp/pb. This is used by LZMA2
+/// decoder, because raw LZMA2 decoding doesn't need lc/lp/pb.
+extern uint64_t lzma_lzma_decoder_memusage_nocheck(const void *options);
+
+#endif
+
+#endif
OpenPOWER on IntegriCloud