mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-06 17:15:00 -06:00
122 lines
2.2 KiB
C++
Executable File
122 lines
2.2 KiB
C++
Executable File
// Archive/Arj/Header.h
|
|
|
|
#ifndef __ARCHIVE_ARJ_HEADER_H
|
|
#define __ARCHIVE_ARJ_HEADER_H
|
|
|
|
#include "Common/Types.h"
|
|
|
|
namespace NArchive {
|
|
namespace NArj {
|
|
|
|
const int kMaxBlockSize = 2600;
|
|
|
|
namespace NSignature
|
|
{
|
|
const Byte kSig0 = 0x60;
|
|
const Byte kSig1 = 0xEA;
|
|
}
|
|
|
|
/*
|
|
struct CArchiveHeader
|
|
{
|
|
// UInt16 BasicHeaderSize;
|
|
Byte FirstHeaderSize;
|
|
Byte Version;
|
|
Byte ExtractVersion;
|
|
Byte HostOS;
|
|
Byte Flags;
|
|
Byte SecuryVersion;
|
|
Byte FileType;
|
|
Byte Reserved;
|
|
UInt32 CreatedTime;
|
|
UInt32 ModifiedTime;
|
|
UInt32 ArchiveSize;
|
|
UInt32 SecurityEnvelopeFilePosition;
|
|
UInt16 FilespecPositionInFilename;
|
|
UInt16 LengthOfSecurityEnvelopeSata;
|
|
Byte EncryptionVersion;
|
|
Byte LastChapter;
|
|
};
|
|
*/
|
|
|
|
namespace NFileHeader
|
|
{
|
|
namespace NCompressionMethod
|
|
{
|
|
enum EType
|
|
{
|
|
kStored = 0,
|
|
kCompressed1a = 1,
|
|
kCompressed1b = 2,
|
|
kCompressed1c = 3,
|
|
kCompressed2 = 4,
|
|
kNoDataNoCRC = 8,
|
|
kNoData = 9
|
|
};
|
|
}
|
|
namespace NFileType
|
|
{
|
|
enum EType
|
|
{
|
|
kBinary = 0,
|
|
k7BitText = 1,
|
|
kDirectory = 3,
|
|
kVolumeLablel = 4,
|
|
kChapterLabel = 5
|
|
};
|
|
}
|
|
namespace NFlags
|
|
{
|
|
const Byte kGarbled = 1;
|
|
const Byte kVolume = 4;
|
|
const Byte kExtFile = 8;
|
|
const Byte kPathSym = 0x10;
|
|
const Byte kBackup= 0x20;
|
|
}
|
|
|
|
/*
|
|
struct CHeader
|
|
{
|
|
Byte FirstHeaderSize;
|
|
Byte Version;
|
|
Byte ExtractVersion;
|
|
Byte HostOS;
|
|
Byte Flags;
|
|
Byte Method;
|
|
Byte FileType;
|
|
Byte Reserved;
|
|
UInt32 ModifiedTime;
|
|
UInt32 PackSize;
|
|
UInt32 Size;
|
|
UInt32 FileCRC;
|
|
UInt16 FilespecPositionInFilename;
|
|
UInt16 FileAccessMode;
|
|
Byte FirstChapter;
|
|
Byte LastChapter;
|
|
};
|
|
*/
|
|
|
|
namespace NHostOS
|
|
{
|
|
enum EEnum
|
|
{
|
|
kMSDOS = 0, // filesystem used by MS-DOS, OS/2, Win32
|
|
// pkarj 2.50 (FAT / VFAT / FAT32 file systems)
|
|
kPRIMOS = 1,
|
|
kUnix = 2, // VAX/VMS
|
|
kAMIGA = 3,
|
|
kMac = 4,
|
|
kOS_2 = 5, // what if it's a minix filesystem? [cjh]
|
|
kAPPLE_GS = 6, // filesystem used by OS/2 (and NT 3.x)
|
|
kAtari_ST = 7,
|
|
kNext = 8,
|
|
kVAX_VMS = 9,
|
|
kWIN95 = 10
|
|
};
|
|
}
|
|
}
|
|
|
|
}}
|
|
|
|
#endif
|