Annotation of elwix/tools/oldlzma/SRC/7zip/Compress/LZMA_C/LzmaDecode.h, revision 1.1.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>