| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- // 7z/7zHeader.h
- #ifndef __7Z_HEADER_H
- #define __7Z_HEADER_H
- #include "../../../Common/Types.h"
- namespace NArchive {
- namespace N7z {
- const int kSignatureSize = 6;
- extern Byte kSignature[kSignatureSize];
- // #define _7Z_VOL
- // 7z-MultiVolume is not finished yet.
- // It can work already, but I still do not like some
- // things of that new multivolume format.
- // So please keep it commented.
- #ifdef _7Z_VOL
- extern Byte kFinishSignature[kSignatureSize];
- #endif
- struct CArchiveVersion
- {
- Byte Major;
- Byte Minor;
- };
- const Byte kMajorVersion = 0;
- struct CStartHeader
- {
- UInt64 NextHeaderOffset;
- UInt64 NextHeaderSize;
- UInt32 NextHeaderCRC;
- };
- const UInt32 kStartHeaderSize = 20;
- #ifdef _7Z_VOL
- struct CFinishHeader: public CStartHeader
- {
- UInt64 ArchiveStartOffset; // data offset from end if that struct
- UInt64 AdditionalStartBlockSize; // start signature & start header size
- };
- const UInt32 kFinishHeaderSize = kStartHeaderSize + 16;
- #endif
- namespace NID
- {
- enum EEnum
- {
- kEnd,
- kHeader,
- kArchiveProperties,
-
- kAdditionalStreamsInfo,
- kMainStreamsInfo,
- kFilesInfo,
-
- kPackInfo,
- kUnPackInfo,
- kSubStreamsInfo,
- kSize,
- kCRC,
- kFolder,
- kCodersUnPackSize,
- kNumUnPackStream,
- kEmptyStream,
- kEmptyFile,
- kAnti,
- kName,
- kCreationTime,
- kLastAccessTime,
- kLastWriteTime,
- kWinAttributes,
- kComment,
- kEncodedHeader,
- kStartPos
- };
- }
- }}
- #endif
|