Annotation of elwix/tools/oldlzma/SRC/7zip/Archive/7z_C/7zItem.h, revision 1.1

1.1     ! misho       1: /* 7zItem.h */
        !             2: 
        !             3: #ifndef __7Z_ITEM_H
        !             4: #define __7Z_ITEM_H
        !             5: 
        !             6: #include "7zMethodID.h"
        !             7: #include "7zHeader.h"
        !             8: #include "7zBuffer.h"
        !             9: 
        !            10: typedef struct _CCoderInfo
        !            11: {
        !            12:   UInt32 NumInStreams;
        !            13:   UInt32 NumOutStreams;
        !            14:   CMethodID MethodID;
        !            15:   CSzByteBuffer Properties;
        !            16: }CCoderInfo;
        !            17: 
        !            18: void SzCoderInfoInit(CCoderInfo *coder);
        !            19: void SzCoderInfoFree(CCoderInfo *coder, void (*freeFunc)(void *p));
        !            20: 
        !            21: typedef struct _CBindPair
        !            22: {
        !            23:   UInt32 InIndex;
        !            24:   UInt32 OutIndex;
        !            25: }CBindPair;
        !            26: 
        !            27: typedef struct _CFolder
        !            28: {
        !            29:   UInt32 NumCoders;
        !            30:   CCoderInfo *Coders;
        !            31:   UInt32 NumBindPairs;
        !            32:   CBindPair *BindPairs;
        !            33:   UInt32 NumPackStreams; 
        !            34:   UInt32 *PackStreams;
        !            35:   CFileSize *UnPackSizes;
        !            36:   int UnPackCRCDefined;
        !            37:   UInt32 UnPackCRC;
        !            38: 
        !            39:   UInt32 NumUnPackStreams;
        !            40: }CFolder;
        !            41: 
        !            42: void SzFolderInit(CFolder *folder);
        !            43: CFileSize SzFolderGetUnPackSize(CFolder *folder);
        !            44: int SzFolderFindBindPairForInStream(CFolder *folder, UInt32 inStreamIndex);
        !            45: UInt32 SzFolderGetNumOutStreams(CFolder *folder);
        !            46: CFileSize SzFolderGetUnPackSize(CFolder *folder);
        !            47: 
        !            48: /* #define CArchiveFileTime UInt64 */
        !            49: 
        !            50: typedef struct _CFileItem
        !            51: {
        !            52:   /*
        !            53:   CArchiveFileTime LastWriteTime;
        !            54:   CFileSize StartPos;
        !            55:   UInt32 Attributes; 
        !            56:   */
        !            57:   CFileSize Size;
        !            58:   UInt32 FileCRC;
        !            59:   char *Name;
        !            60: 
        !            61:   Byte IsFileCRCDefined;
        !            62:   Byte HasStream;
        !            63:   Byte IsDirectory;
        !            64:   Byte IsAnti;
        !            65:   /*
        !            66:   int AreAttributesDefined;
        !            67:   int IsLastWriteTimeDefined;
        !            68:   int IsStartPosDefined;
        !            69:   */
        !            70: }CFileItem;
        !            71: 
        !            72: void SzFileInit(CFileItem *fileItem);
        !            73: 
        !            74: typedef struct _CArchiveDatabase
        !            75: {
        !            76:   UInt32 NumPackStreams;
        !            77:   CFileSize *PackSizes;
        !            78:   int *PackCRCsDefined;
        !            79:   UInt32 *PackCRCs;
        !            80:   UInt32 NumFolders;
        !            81:   CFolder *Folders;
        !            82:   UInt32 NumFiles;
        !            83:   CFileItem *Files;
        !            84: }CArchiveDatabase;
        !            85: 
        !            86: void SzArchiveDatabaseInit(CArchiveDatabase *db);
        !            87: void SzArchiveDatabaseFree(CArchiveDatabase *db, void (*freeFunc)(void *));
        !            88: 
        !            89: 
        !            90: #endif

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