This commit is contained in:
Igor Pavlov
2005-05-30 00:00:00 +00:00
committed by Kornel Lesiński
parent 8c1b5c7b7e
commit 3c510ba80b
926 changed files with 40559 additions and 23519 deletions

View File

@@ -1,37 +1,53 @@
// 7z/Header.h
#pragma once
// 7z/7zHeader.h
#ifndef __7Z_HEADER_H
#define __7Z_HEADER_H
// #include "Common/Types.h"
// #include "../../../Common/CRC.h"
#include "7zMethodID.h"
namespace NArchive {
namespace N7z {
#pragma pack( push, Pragma7zHeaders)
#pragma pack( push, 1)
const int kSignatureSize = 6;
extern BYTE kSignature[kSignatureSize];
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;
Byte Major;
Byte Minor;
};
const Byte kMajorVersion = 0;
struct CStartHeader
{
UINT64 NextHeaderOffset;
UINT64 NextHeaderSize;
UINT32 NextHeaderCRC;
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
@@ -70,16 +86,11 @@ namespace NID
kComment,
kEncodedHeader,
kStartPos
};
}
#pragma pack(pop)
#pragma pack(pop, Pragma7zHeaders)
const BYTE kMajorVersion = 0;
}}
#endif