Annotation of elwix/tools/oldlzma/SRC/7zip/Archive/7z_C/7zIn.h, revision 1.1.1.1

1.1       misho       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, UInt32 indexInFolder);
                     29: CFileSize SzArDbGetFolderFullPackSize(CArchiveDatabaseEx *db, UInt32 folderIndex);
                     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 *processedSize);
                     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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>