| 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 |