OLD | NEW |
| (Empty) |
1 /* 7zExtract.h -- Extracting from 7z archive | |
2 2008-11-23 : Igor Pavlov : Public domain */ | |
3 | |
4 #ifndef __7Z_EXTRACT_H | |
5 #define __7Z_EXTRACT_H | |
6 | |
7 #include "7zIn.h" | |
8 | |
9 /* | |
10 SzExtract extracts file from archive | |
11 | |
12 *outBuffer must be 0 before first call for each new archive. | |
13 | |
14 Extracting cache: | |
15 If you need to decompress more than one file, you can send | |
16 these values from previous call: | |
17 *blockIndex, | |
18 *outBuffer, | |
19 *outBufferSize | |
20 You can consider "*outBuffer" as cache of solid block. If your archive is so
lid, | |
21 it will increase decompression speed. | |
22 | |
23 If you use external function, you can declare these 3 cache variables | |
24 (blockIndex, outBuffer, outBufferSize) as static in that external function. | |
25 | |
26 Free *outBuffer and set *outBuffer to 0, if you want to flush cache. | |
27 */ | |
28 | |
29 SRes SzAr_Extract( | |
30 const CSzArEx *db, | |
31 ILookInStream *inStream, | |
32 UInt32 fileIndex, /* index of file */ | |
33 UInt32 *blockIndex, /* index of solid block */ | |
34 Byte **outBuffer, /* pointer to pointer to output buffer (allocated
with allocMain) */ | |
35 size_t *outBufferSize, /* buffer size for output buffer */ | |
36 size_t *offset, /* offset of stream for required file in *outBuffe
r */ | |
37 size_t *outSizeProcessed, /* size of file in *outBuffer */ | |
38 ISzAlloc *allocMain, | |
39 ISzAlloc *allocTemp); | |
40 | |
41 #endif | |
OLD | NEW |