Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ArjHeader.h « Arj « Archive « 7zip « CPP - github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 7aca1b983de520bdef60215ca54cf95c801f2a2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
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