OLD | NEW |
| (Empty) |
1 /* 7zItem.h -- 7z Items | |
2 2008-10-04 : Igor Pavlov : Public domain */ | |
3 | |
4 #ifndef __7Z_ITEM_H | |
5 #define __7Z_ITEM_H | |
6 | |
7 #include "../../7zBuf.h" | |
8 | |
9 typedef struct | |
10 { | |
11 UInt32 NumInStreams; | |
12 UInt32 NumOutStreams; | |
13 UInt64 MethodID; | |
14 CBuf Props; | |
15 } CSzCoderInfo; | |
16 | |
17 void SzCoderInfo_Init(CSzCoderInfo *p); | |
18 void SzCoderInfo_Free(CSzCoderInfo *p, ISzAlloc *alloc); | |
19 | |
20 typedef struct | |
21 { | |
22 UInt32 InIndex; | |
23 UInt32 OutIndex; | |
24 } CBindPair; | |
25 | |
26 typedef struct | |
27 { | |
28 CSzCoderInfo *Coders; | |
29 CBindPair *BindPairs; | |
30 UInt32 *PackStreams; | |
31 UInt64 *UnpackSizes; | |
32 UInt32 NumCoders; | |
33 UInt32 NumBindPairs; | |
34 UInt32 NumPackStreams; | |
35 int UnpackCRCDefined; | |
36 UInt32 UnpackCRC; | |
37 | |
38 UInt32 NumUnpackStreams; | |
39 } CSzFolder; | |
40 | |
41 void SzFolder_Init(CSzFolder *p); | |
42 UInt64 SzFolder_GetUnpackSize(CSzFolder *p); | |
43 int SzFolder_FindBindPairForInStream(CSzFolder *p, UInt32 inStreamIndex); | |
44 UInt32 SzFolder_GetNumOutStreams(CSzFolder *p); | |
45 UInt64 SzFolder_GetUnpackSize(CSzFolder *p); | |
46 | |
47 typedef struct | |
48 { | |
49 UInt32 Low; | |
50 UInt32 High; | |
51 } CNtfsFileTime; | |
52 | |
53 typedef struct | |
54 { | |
55 CNtfsFileTime MTime; | |
56 UInt64 Size; | |
57 char *Name; | |
58 UInt32 FileCRC; | |
59 | |
60 Byte HasStream; | |
61 Byte IsDir; | |
62 Byte IsAnti; | |
63 Byte FileCRCDefined; | |
64 Byte MTimeDefined; | |
65 } CSzFileItem; | |
66 | |
67 void SzFile_Init(CSzFileItem *p); | |
68 | |
69 typedef struct | |
70 { | |
71 UInt64 *PackSizes; | |
72 Byte *PackCRCsDefined; | |
73 UInt32 *PackCRCs; | |
74 CSzFolder *Folders; | |
75 CSzFileItem *Files; | |
76 UInt32 NumPackStreams; | |
77 UInt32 NumFolders; | |
78 UInt32 NumFiles; | |
79 } CSzAr; | |
80 | |
81 void SzAr_Init(CSzAr *p); | |
82 void SzAr_Free(CSzAr *p, ISzAlloc *alloc); | |
83 | |
84 #endif | |
OLD | NEW |