1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/other-licenses/7zstub/src/7zip/Archive/7z/7zHeader.h Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,96 @@ 1.4 +// 7z/7zHeader.h 1.5 + 1.6 +#ifndef __7Z_HEADER_H 1.7 +#define __7Z_HEADER_H 1.8 + 1.9 +#include "7zMethodID.h" 1.10 + 1.11 +namespace NArchive { 1.12 +namespace N7z { 1.13 + 1.14 +const int kSignatureSize = 6; 1.15 +extern Byte kSignature[kSignatureSize]; 1.16 + 1.17 +// #define _7Z_VOL 1.18 +// 7z-MultiVolume is not finished yet. 1.19 +// It can work already, but I still do not like some 1.20 +// things of that new multivolume format. 1.21 +// So please keep it commented. 1.22 + 1.23 +#ifdef _7Z_VOL 1.24 +extern Byte kFinishSignature[kSignatureSize]; 1.25 +#endif 1.26 + 1.27 +struct CArchiveVersion 1.28 +{ 1.29 + Byte Major; 1.30 + Byte Minor; 1.31 +}; 1.32 + 1.33 +const Byte kMajorVersion = 0; 1.34 + 1.35 +struct CStartHeader 1.36 +{ 1.37 + UInt64 NextHeaderOffset; 1.38 + UInt64 NextHeaderSize; 1.39 + UInt32 NextHeaderCRC; 1.40 +}; 1.41 + 1.42 +const UInt32 kStartHeaderSize = 20; 1.43 + 1.44 +#ifdef _7Z_VOL 1.45 +struct CFinishHeader: public CStartHeader 1.46 +{ 1.47 + UInt64 ArchiveStartOffset; // data offset from end if that struct 1.48 + UInt64 AdditionalStartBlockSize; // start signature & start header size 1.49 +}; 1.50 + 1.51 +const UInt32 kFinishHeaderSize = kStartHeaderSize + 16; 1.52 +#endif 1.53 + 1.54 +namespace NID 1.55 +{ 1.56 + enum EEnum 1.57 + { 1.58 + kEnd, 1.59 + 1.60 + kHeader, 1.61 + 1.62 + kArchiveProperties, 1.63 + 1.64 + kAdditionalStreamsInfo, 1.65 + kMainStreamsInfo, 1.66 + kFilesInfo, 1.67 + 1.68 + kPackInfo, 1.69 + kUnPackInfo, 1.70 + kSubStreamsInfo, 1.71 + 1.72 + kSize, 1.73 + kCRC, 1.74 + 1.75 + kFolder, 1.76 + 1.77 + kCodersUnPackSize, 1.78 + kNumUnPackStream, 1.79 + 1.80 + kEmptyStream, 1.81 + kEmptyFile, 1.82 + kAnti, 1.83 + 1.84 + kName, 1.85 + kCreationTime, 1.86 + kLastAccessTime, 1.87 + kLastWriteTime, 1.88 + kWinAttributes, 1.89 + kComment, 1.90 + 1.91 + kEncodedHeader, 1.92 + 1.93 + kStartPos 1.94 + }; 1.95 +} 1.96 + 1.97 +}} 1.98 + 1.99 +#endif