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