diff options
Diffstat (limited to 'CPP/7zip/Archive/Arj/ArjHeader.h')
-rwxr-xr-x | CPP/7zip/Archive/Arj/ArjHeader.h | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/CPP/7zip/Archive/Arj/ArjHeader.h b/CPP/7zip/Archive/Arj/ArjHeader.h new file mode 100755 index 00000000..58ee8c27 --- /dev/null +++ b/CPP/7zip/Archive/Arj/ArjHeader.h @@ -0,0 +1,121 @@ +// 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 |