Mercurial > vba-linux
view 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 |
line wrap: on
line source
1 // 7z/7zHeader.h3 #ifndef __7Z_HEADER_H4 #define __7Z_HEADER_H6 #include "../../../Common/Types.h"8 namespace NArchive {9 namespace N7z {11 const int kSignatureSize = 6;12 extern Byte kSignature[kSignatureSize];14 // #define _7Z_VOL15 // 7z-MultiVolume is not finished yet.16 // It can work already, but I still do not like some17 // things of that new multivolume format.18 // So please keep it commented.20 #ifdef _7Z_VOL21 extern Byte kFinishSignature[kSignatureSize];22 #endif24 struct CArchiveVersion25 {26 Byte Major;27 Byte Minor;28 };30 const Byte kMajorVersion = 0;32 struct CStartHeader33 {34 UInt64 NextHeaderOffset;35 UInt64 NextHeaderSize;36 UInt32 NextHeaderCRC;37 };39 const UInt32 kStartHeaderSize = 20;41 #ifdef _7Z_VOL42 struct CFinishHeader: public CStartHeader43 {44 UInt64 ArchiveStartOffset; // data offset from end if that struct45 UInt64 AdditionalStartBlockSize; // start signature & start header size46 };48 const UInt32 kFinishHeaderSize = kStartHeaderSize + 16;49 #endif51 namespace NID52 {53 enum EEnum54 {55 kEnd,57 kHeader,59 kArchiveProperties,61 kAdditionalStreamsInfo,62 kMainStreamsInfo,63 kFilesInfo,65 kPackInfo,66 kUnpackInfo,67 kSubStreamsInfo,69 kSize,70 kCRC,72 kFolder,74 kCodersUnpackSize,75 kNumUnpackStream,77 kEmptyStream,78 kEmptyFile,79 kAnti,81 kName,82 kCTime,83 kATime,84 kMTime,85 kWinAttributes,86 kComment,88 kEncodedHeader,90 kStartPos,91 kDummy92 };93 }95 }}97 #endif