Index: third_party/lzma_sdk/Lzma2Dec.h |
diff --git a/third_party/lzma_sdk/Lzma2Dec.h b/third_party/lzma_sdk/Lzma2Dec.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6bc07bbc185ec4a8e5268f455b3ef8ad55b92758 |
--- /dev/null |
+++ b/third_party/lzma_sdk/Lzma2Dec.h |
@@ -0,0 +1,84 @@ |
+/* Lzma2Dec.h -- LZMA2 Decoder |
+2009-05-03 : Igor Pavlov : Public domain */ |
+ |
+#ifndef __LZMA2_DEC_H |
+#define __LZMA2_DEC_H |
+ |
+#include "LzmaDec.h" |
+ |
+#ifdef __cplusplus |
+extern "C" { |
+#endif |
+ |
+/* ---------- State Interface ---------- */ |
+ |
+typedef struct |
+{ |
+ CLzmaDec decoder; |
+ UInt32 packSize; |
+ UInt32 unpackSize; |
+ int state; |
+ Byte control; |
+ Bool needInitDic; |
+ Bool needInitState; |
+ Bool needInitProp; |
+} CLzma2Dec; |
+ |
+#define Lzma2Dec_Construct(p) LzmaDec_Construct(&(p)->decoder) |
+#define Lzma2Dec_FreeProbs(p, alloc) LzmaDec_FreeProbs(&(p)->decoder, alloc); |
+#define Lzma2Dec_Free(p, alloc) LzmaDec_Free(&(p)->decoder, alloc); |
+ |
+SRes Lzma2Dec_AllocateProbs(CLzma2Dec *p, Byte prop, ISzAlloc *alloc); |
+SRes Lzma2Dec_Allocate(CLzma2Dec *p, Byte prop, ISzAlloc *alloc); |
+void Lzma2Dec_Init(CLzma2Dec *p); |
+ |
+ |
+/* |
+finishMode: |
+ It has meaning only if the decoding reaches output limit (*destLen or dicLimit). |
+ LZMA_FINISH_ANY - use smallest number of input bytes |
+ LZMA_FINISH_END - read EndOfStream marker after decoding |
+ |
+Returns: |
+ SZ_OK |
+ status: |
+ LZMA_STATUS_FINISHED_WITH_MARK |
+ LZMA_STATUS_NOT_FINISHED |
+ LZMA_STATUS_NEEDS_MORE_INPUT |
+ SZ_ERROR_DATA - Data error |
+*/ |
+ |
+SRes Lzma2Dec_DecodeToDic(CLzma2Dec *p, SizeT dicLimit, |
+ const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status); |
+ |
+SRes Lzma2Dec_DecodeToBuf(CLzma2Dec *p, Byte *dest, SizeT *destLen, |
+ const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status); |
+ |
+ |
+/* ---------- One Call Interface ---------- */ |
+ |
+/* |
+finishMode: |
+ It has meaning only if the decoding reaches output limit (*destLen). |
+ LZMA_FINISH_ANY - use smallest number of input bytes |
+ LZMA_FINISH_END - read EndOfStream marker after decoding |
+ |
+Returns: |
+ SZ_OK |
+ status: |
+ LZMA_STATUS_FINISHED_WITH_MARK |
+ LZMA_STATUS_NOT_FINISHED |
+ SZ_ERROR_DATA - Data error |
+ SZ_ERROR_MEM - Memory allocation error |
+ SZ_ERROR_UNSUPPORTED - Unsupported properties |
+ SZ_ERROR_INPUT_EOF - It needs more bytes in input buffer (src). |
+*/ |
+ |
+SRes Lzma2Decode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen, |
+ Byte prop, ELzmaFinishMode finishMode, ELzmaStatus *status, ISzAlloc *alloc); |
+ |
+#ifdef __cplusplus |
+} |
+#endif |
+ |
+#endif |