Mercurial > vba-linux
annotate src/win32/7zip/7z/CPP/7zip/Archive/7z/7zHeader.h @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
rev | line source |
---|---|
rlm@1 | 1 // 7z/7zHeader.h |
rlm@1 | 2 |
rlm@1 | 3 #ifndef __7Z_HEADER_H |
rlm@1 | 4 #define __7Z_HEADER_H |
rlm@1 | 5 |
rlm@1 | 6 #include "../../../Common/Types.h" |
rlm@1 | 7 |
rlm@1 | 8 namespace NArchive { |
rlm@1 | 9 namespace N7z { |
rlm@1 | 10 |
rlm@1 | 11 const int kSignatureSize = 6; |
rlm@1 | 12 extern Byte kSignature[kSignatureSize]; |
rlm@1 | 13 |
rlm@1 | 14 // #define _7Z_VOL |
rlm@1 | 15 // 7z-MultiVolume is not finished yet. |
rlm@1 | 16 // It can work already, but I still do not like some |
rlm@1 | 17 // things of that new multivolume format. |
rlm@1 | 18 // So please keep it commented. |
rlm@1 | 19 |
rlm@1 | 20 #ifdef _7Z_VOL |
rlm@1 | 21 extern Byte kFinishSignature[kSignatureSize]; |
rlm@1 | 22 #endif |
rlm@1 | 23 |
rlm@1 | 24 struct CArchiveVersion |
rlm@1 | 25 { |
rlm@1 | 26 Byte Major; |
rlm@1 | 27 Byte Minor; |
rlm@1 | 28 }; |
rlm@1 | 29 |
rlm@1 | 30 const Byte kMajorVersion = 0; |
rlm@1 | 31 |
rlm@1 | 32 struct CStartHeader |
rlm@1 | 33 { |
rlm@1 | 34 UInt64 NextHeaderOffset; |
rlm@1 | 35 UInt64 NextHeaderSize; |
rlm@1 | 36 UInt32 NextHeaderCRC; |
rlm@1 | 37 }; |
rlm@1 | 38 |
rlm@1 | 39 const UInt32 kStartHeaderSize = 20; |
rlm@1 | 40 |
rlm@1 | 41 #ifdef _7Z_VOL |
rlm@1 | 42 struct CFinishHeader: public CStartHeader |
rlm@1 | 43 { |
rlm@1 | 44 UInt64 ArchiveStartOffset; // data offset from end if that struct |
rlm@1 | 45 UInt64 AdditionalStartBlockSize; // start signature & start header size |
rlm@1 | 46 }; |
rlm@1 | 47 |
rlm@1 | 48 const UInt32 kFinishHeaderSize = kStartHeaderSize + 16; |
rlm@1 | 49 #endif |
rlm@1 | 50 |
rlm@1 | 51 namespace NID |
rlm@1 | 52 { |
rlm@1 | 53 enum EEnum |
rlm@1 | 54 { |
rlm@1 | 55 kEnd, |
rlm@1 | 56 |
rlm@1 | 57 kHeader, |
rlm@1 | 58 |
rlm@1 | 59 kArchiveProperties, |
rlm@1 | 60 |
rlm@1 | 61 kAdditionalStreamsInfo, |
rlm@1 | 62 kMainStreamsInfo, |
rlm@1 | 63 kFilesInfo, |
rlm@1 | 64 |
rlm@1 | 65 kPackInfo, |
rlm@1 | 66 kUnpackInfo, |
rlm@1 | 67 kSubStreamsInfo, |
rlm@1 | 68 |
rlm@1 | 69 kSize, |
rlm@1 | 70 kCRC, |
rlm@1 | 71 |
rlm@1 | 72 kFolder, |
rlm@1 | 73 |
rlm@1 | 74 kCodersUnpackSize, |
rlm@1 | 75 kNumUnpackStream, |
rlm@1 | 76 |
rlm@1 | 77 kEmptyStream, |
rlm@1 | 78 kEmptyFile, |
rlm@1 | 79 kAnti, |
rlm@1 | 80 |
rlm@1 | 81 kName, |
rlm@1 | 82 kCTime, |
rlm@1 | 83 kATime, |
rlm@1 | 84 kMTime, |
rlm@1 | 85 kWinAttributes, |
rlm@1 | 86 kComment, |
rlm@1 | 87 |
rlm@1 | 88 kEncodedHeader, |
rlm@1 | 89 |
rlm@1 | 90 kStartPos, |
rlm@1 | 91 kDummy |
rlm@1 | 92 }; |
rlm@1 | 93 } |
rlm@1 | 94 |
rlm@1 | 95 }} |
rlm@1 | 96 |
rlm@1 | 97 #endif |