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>