Upload 2.0.2
[physicsfs] / lzma / CPP / 7zip / Compress / LZMA_Alone / LzmaRamDecode.h
1 /* LzmaRamDecode.h */
2
3 #ifndef __LzmaRamDecode_h
4 #define __LzmaRamDecode_h
5
6 #include <stdlib.h>
7
8 /*
9 LzmaRamGetUncompressedSize:
10   In: 
11     inBuffer - input data
12     inSize   - input data size
13   Out: 
14     outSize  - uncompressed size
15   Return code:
16     0 - OK
17     1 - Error in headers
18 */
19
20 int LzmaRamGetUncompressedSize(
21     const unsigned char *inBuffer, 
22     size_t inSize,
23     size_t *outSize);
24
25
26 /*
27 LzmaRamDecompress:
28   In: 
29     inBuffer  - input data
30     inSize    - input data size
31     outBuffer - output data
32     outSize   - output size
33     allocFunc - alloc function (can be malloc)
34     freeFunc  - free function (can be free)
35   Out: 
36     outSizeProcessed - processed size
37   Return code:
38     0 - OK
39     1 - Error in headers / data stream
40     2 - Memory allocating error
41
42 Memory requirements depend from properties of LZMA stream.
43 With default lzma settings it's about 16 KB.
44 */
45
46 int LzmaRamDecompress(
47     const unsigned char *inBuffer, 
48     size_t inSize,
49     unsigned char *outBuffer,
50     size_t outSize,
51     size_t *outSizeProcessed,
52     void * (*allocFunc)(size_t size), 
53     void (*freeFunc)(void *));
54
55 #endif