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