other-licenses/7zstub/src/7zip/Archive/7z/7zHeader.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 // 7z/7zHeader.h
     3 #ifndef __7Z_HEADER_H
     4 #define __7Z_HEADER_H
     6 #include "7zMethodID.h"
     8 namespace NArchive {
     9 namespace N7z {
    11 const int kSignatureSize = 6;
    12 extern Byte kSignature[kSignatureSize];
    14 // #define _7Z_VOL
    15 // 7z-MultiVolume is not finished yet.
    16 // It can work already, but I still do not like some 
    17 // things of that new multivolume format.
    18 // So please keep it commented.
    20 #ifdef _7Z_VOL
    21 extern Byte kFinishSignature[kSignatureSize];
    22 #endif
    24 struct CArchiveVersion
    25 {
    26   Byte Major;
    27   Byte Minor;
    28 };
    30 const Byte kMajorVersion = 0;
    32 struct CStartHeader
    33 {
    34   UInt64 NextHeaderOffset;
    35   UInt64 NextHeaderSize;
    36   UInt32 NextHeaderCRC;
    37 };
    39 const UInt32 kStartHeaderSize = 20;
    41 #ifdef _7Z_VOL
    42 struct CFinishHeader: public CStartHeader
    43 {
    44   UInt64 ArchiveStartOffset;  // data offset from end if that struct
    45   UInt64 AdditionalStartBlockSize; // start  signature & start header size
    46 };
    48 const UInt32 kFinishHeaderSize = kStartHeaderSize + 16;
    49 #endif
    51 namespace NID
    52 {
    53   enum EEnum
    54   {
    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     kCreationTime,
    83     kLastAccessTime,
    84     kLastWriteTime,
    85     kWinAttributes,
    86     kComment,
    88     kEncodedHeader,
    90     kStartPos
    91   };
    92 }
    94 }}
    96 #endif

mercurial