1#[repr(u16)]
5#[derive(Debug, Clone, Copy, PartialEq, Eq)]
6#[allow(unused)]
7#[non_exhaustive]
8pub enum ExtraFieldId {
9 Zip64ExtendedInfo = 0x0001,
11 AvInfo = 0x0007,
13 ReservedExtendedLanguageEncoding = 0x0008,
15 Os2 = 0x0009,
17 Ntfs = 0x000a,
19 OpenVms = 0x000c,
21 Unix = 0x000d,
23 ReservedFileStreamAndForkDescriptors = 0x000e,
25 PatchDescriptor = 0x000f,
27 Pkcs7StoreForX509Certificates = 0x0014,
29 X509CertificateIdAndSignature = 0x0015,
31 X509CertificateIdCentralDirectory = 0x0016,
33 StrongEncryptionHeader = 0x0017,
35 RecordManagementControls = 0x0018,
37 Pkcs7EncryptionRecipientCertificateList = 0x0019,
39 ReservedTimestampRecord = 0x0020,
41 PolicyDecryptionKeyRecord = 0x0021,
43 SmartcryptKeyProviderRecord = 0x0022,
45 SmartcryptPolicyKeyDataRecord = 0x0023,
47 IbmS390As400Attributes = 0x0065,
49 ReservedIbmS390As400AttributesCompressed = 0x0066,
51 Macintosh = 0x07c8,
54 PixarUsdHeader = 0x1986,
56 ZipItMacintosh = 0x2605,
58 ZipItMacintosh135Plus = 0x2705,
60 ZipItMacintosh135PlusAlt = 0x2805,
62 InfoZipMacintosh = 0x334d,
64 Tandem = 0x4154,
66 AcornSparkFs = 0x4341,
68 WindowsNtSecurityDescriptor = 0x4453,
70 Poszip4690 = 0x4690,
72 VmCms = 0x4704,
74 Mvs = 0x470f,
76 TheosOld = 0x4854,
78 FwkcsMd5 = 0x4b46,
80 Os2AccessControlList = 0x4c41,
82 InfoZipOpenVms = 0x4d49,
84 MacintoshSmartzip = 0x4d63,
86 XceedOriginalLocation = 0x4f4c,
88 AosVsAcl = 0x5356,
90 ExtendedTimestamp = 0x5455,
92 XceedUnicode = 0x554e,
94 InfoZipUnixOriginal = 0x5855,
96 UnicodeComment = 0x6375,
98 BeOsBeBox = 0x6542,
100 Theos = 0x6854,
102 UnicodePath = 0x7075,
104 AtheosSyllable = 0x7441,
106 AsiUnix = 0x756e,
108 InfoZipUnixNew = 0x7855,
110 InfoZipUnixNewerUidGid = 0x7875,
112 AeXEncryption = 0x9901,
114 Unknown9902 = 0x9902,
116 DataStreamAlignment = 0xa11e,
118 MicrosoftOpenPackagingGrowthHint = 0xa220,
120 JavaJar = 0xcafe,
122 AndroidZipAlignment = 0xd935,
124 KoreanZipCodePageInfo = 0xe57a,
126 SmsQdos = 0xfd4a,
128}
129
130impl ExtraFieldId {
131 #[must_use]
133 pub const fn as_u16(self) -> u16 {
134 self as u16
135 }
136}
137
138pub const EXTRA_FIELD_MAPPING: [u16; 59] = [
140 ExtraFieldId::Zip64ExtendedInfo.as_u16(),
141 ExtraFieldId::AvInfo.as_u16(),
142 ExtraFieldId::ReservedExtendedLanguageEncoding.as_u16(),
143 ExtraFieldId::Os2.as_u16(),
144 ExtraFieldId::Ntfs.as_u16(),
145 ExtraFieldId::OpenVms.as_u16(),
146 ExtraFieldId::Unix.as_u16(),
147 ExtraFieldId::ReservedFileStreamAndForkDescriptors.as_u16(),
148 ExtraFieldId::PatchDescriptor.as_u16(),
149 ExtraFieldId::Pkcs7StoreForX509Certificates.as_u16(),
150 ExtraFieldId::X509CertificateIdAndSignature.as_u16(),
151 ExtraFieldId::X509CertificateIdCentralDirectory.as_u16(),
152 ExtraFieldId::StrongEncryptionHeader.as_u16(),
153 ExtraFieldId::RecordManagementControls.as_u16(),
154 ExtraFieldId::Pkcs7EncryptionRecipientCertificateList.as_u16(),
155 ExtraFieldId::ReservedTimestampRecord.as_u16(),
156 ExtraFieldId::PolicyDecryptionKeyRecord.as_u16(),
157 ExtraFieldId::SmartcryptKeyProviderRecord.as_u16(),
158 ExtraFieldId::SmartcryptPolicyKeyDataRecord.as_u16(),
159 ExtraFieldId::IbmS390As400Attributes.as_u16(),
160 ExtraFieldId::ReservedIbmS390As400AttributesCompressed.as_u16(),
161 ExtraFieldId::Macintosh.as_u16(),
163 ExtraFieldId::PixarUsdHeader.as_u16(),
164 ExtraFieldId::ZipItMacintosh.as_u16(),
165 ExtraFieldId::ZipItMacintosh135Plus.as_u16(),
166 ExtraFieldId::ZipItMacintosh135PlusAlt.as_u16(),
167 ExtraFieldId::InfoZipMacintosh.as_u16(),
168 ExtraFieldId::Tandem.as_u16(),
169 ExtraFieldId::AcornSparkFs.as_u16(),
170 ExtraFieldId::WindowsNtSecurityDescriptor.as_u16(),
171 ExtraFieldId::Poszip4690.as_u16(),
172 ExtraFieldId::VmCms.as_u16(),
173 ExtraFieldId::Mvs.as_u16(),
174 ExtraFieldId::TheosOld.as_u16(),
175 ExtraFieldId::FwkcsMd5.as_u16(),
176 ExtraFieldId::Os2AccessControlList.as_u16(),
177 ExtraFieldId::InfoZipOpenVms.as_u16(),
178 ExtraFieldId::MacintoshSmartzip.as_u16(),
179 ExtraFieldId::XceedOriginalLocation.as_u16(),
180 ExtraFieldId::AosVsAcl.as_u16(),
181 ExtraFieldId::ExtendedTimestamp.as_u16(),
182 ExtraFieldId::XceedUnicode.as_u16(),
183 ExtraFieldId::InfoZipUnixOriginal.as_u16(),
184 ExtraFieldId::UnicodeComment.as_u16(),
185 ExtraFieldId::BeOsBeBox.as_u16(),
186 ExtraFieldId::Theos.as_u16(),
187 ExtraFieldId::UnicodePath.as_u16(),
188 ExtraFieldId::AtheosSyllable.as_u16(),
189 ExtraFieldId::AsiUnix.as_u16(),
190 ExtraFieldId::InfoZipUnixNew.as_u16(),
191 ExtraFieldId::InfoZipUnixNewerUidGid.as_u16(),
192 ExtraFieldId::AeXEncryption.as_u16(),
193 ExtraFieldId::Unknown9902.as_u16(),
194 ExtraFieldId::DataStreamAlignment.as_u16(),
195 ExtraFieldId::MicrosoftOpenPackagingGrowthHint.as_u16(),
196 ExtraFieldId::JavaJar.as_u16(),
197 ExtraFieldId::AndroidZipAlignment.as_u16(),
198 ExtraFieldId::KoreanZipCodePageInfo.as_u16(),
199 ExtraFieldId::SmsQdos.as_u16(),
200];