1 // ZipRegister.cpp 2 3 #include "StdAfx.h" 4 5 #include "../../Common/RegisterArc.h" 6 7 #include "ZipHandler.h" 8 9 namespace NArchive { 10 namespace NZip { 11 12 static const Byte k_Signature[] = { 13 4, 0x50, 0x4B, 0x03, 0x04, // Local 14 4, 0x50, 0x4B, 0x05, 0x06, // Ecd 15 4, 0x50, 0x4B, 0x06, 0x06, // Ecd64 16 6, 0x50, 0x4B, 0x07, 0x08, 0x50, 0x4B, // Span / Descriptor 17 6, 0x50, 0x4B, 0x30, 0x30, 0x50, 0x4B }; // NoSpan 18 19 REGISTER_ARC_IO( 20 "zip", "zip z01 zipx jar xpi odt ods docx xlsx epub ipa apk appx", NULL, 1, 21 k_Signature, 22 0, 23 NArcInfoFlags::kFindSignature 24 | NArcInfoFlags::kMultiSignature 25 | NArcInfoFlags::kUseGlobalOffset 26 | NArcInfoFlags::kCTime 27 // | NArcInfoFlags::kCTime_Default 28 | NArcInfoFlags::kATime 29 // | NArcInfoFlags::kATime_Default 30 | NArcInfoFlags::kMTime 31 | NArcInfoFlags::kMTime_Default 32 , TIME_PREC_TO_ARC_FLAGS_MASK (NFileTimeType::kWindows) 33 | TIME_PREC_TO_ARC_FLAGS_MASK (NFileTimeType::kUnix) 34 | TIME_PREC_TO_ARC_FLAGS_MASK (NFileTimeType::kDOS) 35 | TIME_PREC_TO_ARC_FLAGS_TIME_DEFAULT (NFileTimeType::kWindows) 36 , IsArc_Zip) 37 38 }} 39