OLD | NEW |
| (Empty) |
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 typedef struct _CArchiveFileTime | |
49 { | |
50 UInt32 Low; | |
51 UInt32 High; | |
52 } CArchiveFileTime; | |
53 | |
54 typedef struct _CFileItem | |
55 { | |
56 CArchiveFileTime LastWriteTime; | |
57 /* | |
58 CFileSize StartPos; | |
59 UInt32 Attributes; | |
60 */ | |
61 CFileSize Size; | |
62 UInt32 FileCRC; | |
63 char *Name; | |
64 | |
65 Byte IsFileCRCDefined; | |
66 Byte HasStream; | |
67 Byte IsDirectory; | |
68 Byte IsAnti; | |
69 Byte IsLastWriteTimeDefined; | |
70 /* | |
71 int AreAttributesDefined; | |
72 int IsLastWriteTimeDefined; | |
73 int IsStartPosDefined; | |
74 */ | |
75 }CFileItem; | |
76 | |
77 void SzFileInit(CFileItem *fileItem); | |
78 | |
79 typedef struct _CArchiveDatabase | |
80 { | |
81 UInt32 NumPackStreams; | |
82 CFileSize *PackSizes; | |
83 Byte *PackCRCsDefined; | |
84 UInt32 *PackCRCs; | |
85 UInt32 NumFolders; | |
86 CFolder *Folders; | |
87 UInt32 NumFiles; | |
88 CFileItem *Files; | |
89 }CArchiveDatabase; | |
90 | |
91 void SzArchiveDatabaseInit(CArchiveDatabase *db); | |
92 void SzArchiveDatabaseFree(CArchiveDatabase *db, void (*freeFunc)(void *)); | |
93 | |
94 | |
95 #endif | |
OLD | NEW |