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>