|
|
1.1 ! root 1: /* ! 2: LzmaDecode.h ! 3: LZMA Decoder interface ! 4: ! 5: LZMA SDK 4.40 Copyright (c) 1999-2006 Igor Pavlov (2006-05-01) ! 6: http://www.7-zip.org/ ! 7: ! 8: LZMA SDK is licensed under two licenses: ! 9: 1) GNU Lesser General Public License (GNU LGPL) ! 10: 2) Common Public License (CPL) ! 11: It means that you can select one of these two licenses and ! 12: follow rules of that license. ! 13: ! 14: SPECIAL EXCEPTION: ! 15: Igor Pavlov, as the author of this code, expressly permits you to ! 16: statically or dynamically link your code (or bind by name) to the ! 17: interfaces of this file without subjecting your linked code to the ! 18: terms of the CPL or GNU LGPL. Any modifications or additions ! 19: to this file, however, are subject to the LGPL or CPL terms. ! 20: */ ! 21: ! 22: #ifndef __LZMADECODE_H ! 23: #define __LZMADECODE_H ! 24: ! 25: typedef unsigned char Byte; ! 26: typedef unsigned short UInt16; ! 27: typedef unsigned int UInt32; ! 28: typedef UInt32 SizeT; ! 29: ! 30: #define CProb UInt16 ! 31: ! 32: #define LZMA_RESULT_OK 0 ! 33: #define LZMA_RESULT_DATA_ERROR 1 ! 34: ! 35: ! 36: #define LZMA_BASE_SIZE 1846 ! 37: #define LZMA_LIT_SIZE 768 ! 38: ! 39: #define LZMA_PROPERTIES_SIZE 5 ! 40: ! 41: typedef struct _CLzmaProperties ! 42: { ! 43: int lc; ! 44: int lp; ! 45: int pb; ! 46: }CLzmaProperties; ! 47: ! 48: int LzmaDecodeProperties(CLzmaProperties *propsRes, const unsigned char *propsData, int size); ! 49: ! 50: #define LzmaGetNumProbs(Properties) (LZMA_BASE_SIZE + (LZMA_LIT_SIZE << ((Properties)->lc + (Properties)->lp))) ! 51: ! 52: #define kLzmaNeedInitId (-2) ! 53: ! 54: typedef struct _CLzmaDecoderState ! 55: { ! 56: CLzmaProperties Properties; ! 57: CProb *Probs; ! 58: ! 59: ! 60: } CLzmaDecoderState; ! 61: ! 62: ! 63: int LzmaDecode(CLzmaDecoderState *vs, ! 64: const unsigned char *inStream, SizeT inSize, SizeT *inSizeProcessed, ! 65: unsigned char *outStream, SizeT outSize, SizeT *outSizeProcessed); ! 66: ! 67: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.