Annotation of elwix/tools/oldlzma/SRC/7zip/Archive/7z_C/7zIn.h, revision 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>