view src/win32/7zip/7z/CPP/7zip/Archive/GZip/GZipHeader.h @ 1:f9f4f1b99eed

importing src directory
author Robert McIntyre <rlm@mit.edu>
date Sat, 03 Mar 2012 10:31:27 -0600
parents
children
line wrap: on
line source
1 // Archive/GZip/Header.h
3 #ifndef __ARCHIVE_GZIP_HEADER_H
4 #define __ARCHIVE_GZIP_HEADER_H
6 #include "Common/Types.h"
8 namespace NArchive {
9 namespace NGZip {
11 extern UInt16 kSignature;
12 static const UInt32 kSignatureSize = 2;
14 namespace NFileHeader
15 {
16 /*
17 struct CBlock
18 {
19 UInt16 Id;
20 Byte CompressionMethod;
21 Byte Flags;
22 UInt32 Time;
23 Byte ExtraFlags;
24 Byte HostOS;
25 };
26 */
28 namespace NFlags
29 {
30 const int kDataIsText = 1 << 0;
31 const int kHeaderCRCIsPresent = 1 << 1;
32 const int kExtraIsPresent = 1 << 2;
33 const int kNameIsPresent = 1 << 3;
34 const int kComentIsPresent = 1 << 4;
35 }
37 namespace NExtraFlags
38 {
39 enum EEnum
40 {
41 kMaximum = 2,
42 kFastest = 4
43 };
44 }
46 namespace NCompressionMethod
47 {
48 const Byte kDeflate = 8;
49 }
51 namespace NHostOS
52 {
53 enum EEnum
54 {
55 kFAT = 0, // filesystem used by MS-DOS, OS/2, Win32
56 // pkzip 2.50 (FAT / VFAT / FAT32 file systems)
57 kAMIGA = 1,
58 kVMS = 2, // VAX/VMS
59 kUnix = 3,
60 kVM_CMS = 4,
61 kAtari = 5, // what if it's a minix filesystem? [cjh]
62 kHPFS = 6, // filesystem used by OS/2 (and NT 3.x)
63 kMac = 7,
64 kZ_System = 8,
65 kCPM = 9,
66 kTOPS20 = 10, // pkzip 2.50 NTFS
67 kNTFS = 11, // filesystem used by Windows NT
68 kQDOS = 12, // SMS/QDOS
69 kAcorn = 13, // Archimedes Acorn RISC OS
70 kVFAT = 14, // filesystem used by Windows 95, NT
71 kMVS = 15,
72 kBeOS = 16, // hybrid POSIX/database filesystem
73 // BeBOX or PowerMac
74 kTandem = 17,
75 kTHEOS = 18,
77 kUnknown = 255
78 };
79 const int kNumHostSystems = 19;
80 }
81 }
83 }}
85 #endif