Annotation of elwix/tools/oldlzma/SRC/7zip/Compress/LZMA_C/LzmaDecode.h, revision 1.1
1.1 ! misho 1: /*
! 2: LzmaDecode.h
! 3: LZMA Decoder interface
! 4:
! 5: LZMA SDK 4.16 Copyright (c) 1999-2005 Igor Pavlov (2005-03-18)
! 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: /* #define _LZMA_IN_CB */
! 26: /* Use callback for input data */
! 27:
! 28: /* #define _LZMA_OUT_READ */
! 29: /* Use read function for output data */
! 30:
! 31: /* #define _LZMA_PROB32 */
! 32: /* It can increase speed on some 32-bit CPUs,
! 33: but memory usage will be doubled in that case */
! 34:
! 35: /* #define _LZMA_LOC_OPT */
! 36: /* Enable local speed optimizations inside code */
! 37:
! 38: #ifndef UInt32
! 39: #ifdef _LZMA_UINT32_IS_ULONG
! 40: #define UInt32 unsigned long
! 41: #else
! 42: #define UInt32 unsigned int
! 43: #endif
! 44: #endif
! 45:
! 46: #ifdef _LZMA_PROB32
! 47: #define CProb UInt32
! 48: #else
! 49: #define CProb unsigned short
! 50: #endif
! 51:
! 52: #define LZMA_RESULT_OK 0
! 53: #define LZMA_RESULT_DATA_ERROR 1
! 54: #define LZMA_RESULT_NOT_ENOUGH_MEM 2
! 55:
! 56: #ifdef _LZMA_IN_CB
! 57: typedef struct _ILzmaInCallback
! 58: {
! 59: int (*Read)(void *object, unsigned char **buffer, UInt32 *bufferSize);
! 60: } ILzmaInCallback;
! 61: #endif
! 62:
! 63: #define LZMA_BASE_SIZE 1846
! 64: #define LZMA_LIT_SIZE 768
! 65:
! 66: /*
! 67: bufferSize = (LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp)))* sizeof(CProb)
! 68: bufferSize += 100 in case of _LZMA_OUT_READ
! 69: by default CProb is unsigned short,
! 70: but if specify _LZMA_PROB_32, CProb will be UInt32(unsigned int)
! 71: */
! 72:
! 73: #ifdef _LZMA_OUT_READ
! 74: int LzmaDecoderInit(
! 75: unsigned char *buffer, UInt32 bufferSize,
! 76: int lc, int lp, int pb,
! 77: unsigned char *dictionary, UInt32 dictionarySize,
! 78: #ifdef _LZMA_IN_CB
! 79: ILzmaInCallback *inCallback
! 80: #else
! 81: unsigned char *inStream, UInt32 inSize
! 82: #endif
! 83: );
! 84: #endif
! 85:
! 86: int LzmaDecode(
! 87: unsigned char *buffer,
! 88: #ifndef _LZMA_OUT_READ
! 89: UInt32 bufferSize,
! 90: int lc, int lp, int pb,
! 91: #ifdef _LZMA_IN_CB
! 92: ILzmaInCallback *inCallback,
! 93: #else
! 94: unsigned char *inStream, UInt32 inSize,
! 95: #endif
! 96: #endif
! 97: unsigned char *outStream, UInt32 outSize,
! 98: UInt32 *outSizeProcessed);
! 99:
! 100: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>