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