+// for details, see http://www.pkware.com/documents/casestudies/APPNOTE.TXT
+
+enum HostOS {
+ HostFAT = 0,
+ HostAMIGA = 1,
+ HostVMS = 2, // VAX/VMS
+ HostUnix = 3,
+ HostVM_CMS = 4,
+ HostAtari = 5, // what if it's a minix filesystem? [cjh]
+ HostHPFS = 6, // filesystem used by OS/2 (and NT 3.x)
+ HostMac = 7,
+ HostZ_System = 8,
+ HostCPM = 9,
+ HostTOPS20 = 10, // pkzip 2.50 NTFS
+ HostNTFS = 11, // filesystem used by Windows NT
+ HostQDOS = 12, // SMS/QDOS
+ HostAcorn = 13, // Archimedes Acorn RISC OS
+ HostVFAT = 14, // filesystem used by Windows 95, NT
+ HostMVS = 15,
+ HostBeOS = 16, // hybrid POSIX/database filesystem
+ HostTandem = 17,
+ HostOS400 = 18,
+ HostOSX = 19
+};
+
+enum GeneralPurposeFlag {
+ Encrypted = 0x01,
+ AlgTune1 = 0x02,
+ AlgTune2 = 0x04,
+ HasDataDescriptor = 0x08,
+ PatchedData = 0x20,
+ StrongEncrypted = 0x40,
+ Utf8Names = 0x0800,
+ CentralDirectoryEncrypted = 0x2000
+};
+
+enum CompressionMethod {
+ CompressionMethodStored = 0,
+ CompressionMethodShrunk = 1,
+ CompressionMethodReduced1 = 2,
+ CompressionMethodReduced2 = 3,
+ CompressionMethodReduced3 = 4,
+ CompressionMethodReduced4 = 5,
+ CompressionMethodImploded = 6,
+ CompressionMethodReservedTokenizing = 7, // reserved for tokenizing
+ CompressionMethodDeflated = 8,
+ CompressionMethodDeflated64 = 9,
+ CompressionMethodPKImploding = 10,
+
+ CompressionMethodBZip2 = 12,
+
+ CompressionMethodLZMA = 14,
+
+ CompressionMethodTerse = 18,
+ CompressionMethodLz77 = 19,
+
+ CompressionMethodJpeg = 96,
+ CompressionMethodWavPack = 97,
+ CompressionMethodPPMd = 98,
+ CompressionMethodWzAES = 99
+};
+