| OLD | NEW |
| (Empty) |
| 1 /* 7zIn.h */ | |
| 2 | |
| 3 #ifndef __7Z_IN_H | |
| 4 #define __7Z_IN_H | |
| 5 | |
| 6 #include "7zHeader.h" | |
| 7 #include "7zItem.h" | |
| 8 #include "7zAlloc.h" | |
| 9 | |
| 10 typedef struct _CInArchiveInfo | |
| 11 { | |
| 12 CFileSize StartPositionAfterHeader; | |
| 13 CFileSize DataStartPosition; | |
| 14 }CInArchiveInfo; | |
| 15 | |
| 16 typedef struct _CArchiveDatabaseEx | |
| 17 { | |
| 18 CArchiveDatabase Database; | |
| 19 CInArchiveInfo ArchiveInfo; | |
| 20 UInt32 *FolderStartPackStreamIndex; | |
| 21 CFileSize *PackStreamStartPositions; | |
| 22 UInt32 *FolderStartFileIndex; | |
| 23 UInt32 *FileIndexToFolderIndexMap; | |
| 24 }CArchiveDatabaseEx; | |
| 25 | |
| 26 void SzArDbExInit(CArchiveDatabaseEx *db); | |
| 27 void SzArDbExFree(CArchiveDatabaseEx *db, void (*freeFunc)(void *)); | |
| 28 CFileSize SzArDbGetFolderStreamPos(CArchiveDatabaseEx *db, UInt32 folderIndex, U
Int32 indexInFolder); | |
| 29 int SzArDbGetFolderFullPackSize(CArchiveDatabaseEx *db, UInt32 folderIndex, CFil
eSize *resSize); | |
| 30 | |
| 31 typedef struct _ISzInStream | |
| 32 { | |
| 33 #ifdef _LZMA_IN_CB | |
| 34 SZ_RESULT (*Read)( | |
| 35 void *object, /* pointer to ISzInStream itself */ | |
| 36 void **buffer, /* out: pointer to buffer with data */ | |
| 37 size_t maxRequiredSize, /* max required size to read */ | |
| 38 size_t *processedSize); /* real processed size. | |
| 39 processedSize can be less than maxRequiredSize. | |
| 40 If processedSize == 0, then there are no more | |
| 41 bytes in stream. */ | |
| 42 #else | |
| 43 SZ_RESULT (*Read)(void *object, void *buffer, size_t size, size_t *processedSi
ze); | |
| 44 #endif | |
| 45 SZ_RESULT (*Seek)(void *object, CFileSize pos); | |
| 46 } ISzInStream; | |
| 47 | |
| 48 | |
| 49 int SzArchiveOpen( | |
| 50 ISzInStream *inStream, | |
| 51 CArchiveDatabaseEx *db, | |
| 52 ISzAlloc *allocMain, | |
| 53 ISzAlloc *allocTemp); | |
| 54 | |
| 55 #endif | |
| OLD | NEW |