]> git.proxmox.com Git - rustc.git/blame - vendor/windows-sys/src/Windows/Devices/SmartCards/mod.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Devices / SmartCards / mod.rs
CommitLineData
5e7ed085
FG
1pub type CardAddedEventArgs = *mut ::core::ffi::c_void;
2pub type CardRemovedEventArgs = *mut ::core::ffi::c_void;
3pub type SmartCard = *mut ::core::ffi::c_void;
04454e1e 4#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
5#[repr(transparent)]
6pub struct SmartCardActivationPolicyChangeResult(pub i32);
7impl SmartCardActivationPolicyChangeResult {
8 pub const Denied: Self = Self(0i32);
9 pub const Allowed: Self = Self(1i32);
10}
11impl ::core::marker::Copy for SmartCardActivationPolicyChangeResult {}
12impl ::core::clone::Clone for SmartCardActivationPolicyChangeResult {
13 fn clone(&self) -> Self {
14 *self
15 }
16}
17pub type SmartCardAppletIdGroup = *mut ::core::ffi::c_void;
04454e1e 18#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
19#[repr(transparent)]
20pub struct SmartCardAppletIdGroupActivationPolicy(pub i32);
21impl SmartCardAppletIdGroupActivationPolicy {
22 pub const Disabled: Self = Self(0i32);
23 pub const ForegroundOverride: Self = Self(1i32);
24 pub const Enabled: Self = Self(2i32);
25}
26impl ::core::marker::Copy for SmartCardAppletIdGroupActivationPolicy {}
27impl ::core::clone::Clone for SmartCardAppletIdGroupActivationPolicy {
28 fn clone(&self) -> Self {
29 *self
30 }
31}
32pub type SmartCardAppletIdGroupRegistration = *mut ::core::ffi::c_void;
33pub type SmartCardAutomaticResponseApdu = *mut ::core::ffi::c_void;
04454e1e 34#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
35#[repr(transparent)]
36pub struct SmartCardAutomaticResponseStatus(pub i32);
37impl SmartCardAutomaticResponseStatus {
38 pub const None: Self = Self(0i32);
39 pub const Success: Self = Self(1i32);
40 pub const UnknownError: Self = Self(2i32);
41}
42impl ::core::marker::Copy for SmartCardAutomaticResponseStatus {}
43impl ::core::clone::Clone for SmartCardAutomaticResponseStatus {
44 fn clone(&self) -> Self {
45 *self
46 }
47}
48pub type SmartCardChallengeContext = *mut ::core::ffi::c_void;
49pub type SmartCardConnection = *mut ::core::ffi::c_void;
04454e1e 50#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
51#[repr(transparent)]
52pub struct SmartCardCryptogramAlgorithm(pub i32);
53impl SmartCardCryptogramAlgorithm {
54 pub const None: Self = Self(0i32);
55 pub const CbcMac: Self = Self(1i32);
56 pub const Cvc3Umd: Self = Self(2i32);
57 pub const DecimalizedMsd: Self = Self(3i32);
58 pub const Cvc3MD: Self = Self(4i32);
59 pub const Sha1: Self = Self(5i32);
60 pub const SignedDynamicApplicationData: Self = Self(6i32);
61 pub const RsaPkcs1: Self = Self(7i32);
62 pub const Sha256Hmac: Self = Self(8i32);
63}
64impl ::core::marker::Copy for SmartCardCryptogramAlgorithm {}
65impl ::core::clone::Clone for SmartCardCryptogramAlgorithm {
66 fn clone(&self) -> Self {
67 *self
68 }
69}
70pub type SmartCardCryptogramGenerator = *mut ::core::ffi::c_void;
04454e1e 71#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
72#[repr(transparent)]
73pub struct SmartCardCryptogramGeneratorOperationStatus(pub i32);
74impl SmartCardCryptogramGeneratorOperationStatus {
75 pub const Success: Self = Self(0i32);
76 pub const AuthorizationFailed: Self = Self(1i32);
77 pub const AuthorizationCanceled: Self = Self(2i32);
78 pub const AuthorizationRequired: Self = Self(3i32);
79 pub const CryptogramMaterialPackageStorageKeyExists: Self = Self(4i32);
80 pub const NoCryptogramMaterialPackageStorageKey: Self = Self(5i32);
81 pub const NoCryptogramMaterialPackage: Self = Self(6i32);
82 pub const UnsupportedCryptogramMaterialPackage: Self = Self(7i32);
83 pub const UnknownCryptogramMaterialName: Self = Self(8i32);
84 pub const InvalidCryptogramMaterialUsage: Self = Self(9i32);
85 pub const ApduResponseNotSent: Self = Self(10i32);
86 pub const OtherError: Self = Self(11i32);
87 pub const ValidationFailed: Self = Self(12i32);
88 pub const NotSupported: Self = Self(13i32);
89}
90impl ::core::marker::Copy for SmartCardCryptogramGeneratorOperationStatus {}
91impl ::core::clone::Clone for SmartCardCryptogramGeneratorOperationStatus {
92 fn clone(&self) -> Self {
93 *self
94 }
95}
96pub type SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult = *mut ::core::ffi::c_void;
97pub type SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult = *mut ::core::ffi::c_void;
98pub type SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult = *mut ::core::ffi::c_void;
99pub type SmartCardCryptogramMaterialCharacteristics = *mut ::core::ffi::c_void;
100pub type SmartCardCryptogramMaterialPackageCharacteristics = *mut ::core::ffi::c_void;
04454e1e 101#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
102#[repr(transparent)]
103pub struct SmartCardCryptogramMaterialPackageConfirmationResponseFormat(pub i32);
104impl SmartCardCryptogramMaterialPackageConfirmationResponseFormat {
105 pub const None: Self = Self(0i32);
106 pub const VisaHmac: Self = Self(1i32);
107}
108impl ::core::marker::Copy for SmartCardCryptogramMaterialPackageConfirmationResponseFormat {}
109impl ::core::clone::Clone for SmartCardCryptogramMaterialPackageConfirmationResponseFormat {
110 fn clone(&self) -> Self {
111 *self
112 }
113}
04454e1e 114#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
115#[repr(transparent)]
116pub struct SmartCardCryptogramMaterialPackageFormat(pub i32);
117impl SmartCardCryptogramMaterialPackageFormat {
118 pub const None: Self = Self(0i32);
119 pub const JweRsaPki: Self = Self(1i32);
120}
121impl ::core::marker::Copy for SmartCardCryptogramMaterialPackageFormat {}
122impl ::core::clone::Clone for SmartCardCryptogramMaterialPackageFormat {
123 fn clone(&self) -> Self {
124 *self
125 }
126}
127pub type SmartCardCryptogramMaterialPossessionProof = *mut ::core::ffi::c_void;
04454e1e 128#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
129#[repr(transparent)]
130pub struct SmartCardCryptogramMaterialProtectionMethod(pub i32);
131impl SmartCardCryptogramMaterialProtectionMethod {
132 pub const None: Self = Self(0i32);
133 pub const WhiteBoxing: Self = Self(1i32);
134}
135impl ::core::marker::Copy for SmartCardCryptogramMaterialProtectionMethod {}
136impl ::core::clone::Clone for SmartCardCryptogramMaterialProtectionMethod {
137 fn clone(&self) -> Self {
138 *self
139 }
140}
04454e1e 141#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
142#[repr(transparent)]
143pub struct SmartCardCryptogramMaterialType(pub i32);
144impl SmartCardCryptogramMaterialType {
145 pub const None: Self = Self(0i32);
146 pub const StaticDataAuthentication: Self = Self(1i32);
147 pub const TripleDes112: Self = Self(2i32);
148 pub const Aes: Self = Self(3i32);
149 pub const RsaPkcs1: Self = Self(4i32);
150}
151impl ::core::marker::Copy for SmartCardCryptogramMaterialType {}
152impl ::core::clone::Clone for SmartCardCryptogramMaterialType {
153 fn clone(&self) -> Self {
154 *self
155 }
156}
04454e1e 157#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
158#[repr(transparent)]
159pub struct SmartCardCryptogramPlacementOptions(pub u32);
160impl SmartCardCryptogramPlacementOptions {
161 pub const None: Self = Self(0u32);
162 pub const UnitsAreInNibbles: Self = Self(1u32);
163 pub const ChainOutput: Self = Self(2u32);
164}
165impl ::core::marker::Copy for SmartCardCryptogramPlacementOptions {}
166impl ::core::clone::Clone for SmartCardCryptogramPlacementOptions {
167 fn clone(&self) -> Self {
168 *self
169 }
170}
171pub type SmartCardCryptogramPlacementStep = *mut ::core::ffi::c_void;
04454e1e 172#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
173#[repr(transparent)]
174pub struct SmartCardCryptogramStorageKeyAlgorithm(pub i32);
175impl SmartCardCryptogramStorageKeyAlgorithm {
176 pub const None: Self = Self(0i32);
177 pub const Rsa2048: Self = Self(1i32);
178}
179impl ::core::marker::Copy for SmartCardCryptogramStorageKeyAlgorithm {}
180impl ::core::clone::Clone for SmartCardCryptogramStorageKeyAlgorithm {
181 fn clone(&self) -> Self {
182 *self
183 }
184}
04454e1e 185#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
186#[repr(transparent)]
187pub struct SmartCardCryptogramStorageKeyCapabilities(pub u32);
188impl SmartCardCryptogramStorageKeyCapabilities {
189 pub const None: Self = Self(0u32);
190 pub const HardwareProtection: Self = Self(1u32);
191 pub const UnlockPrompt: Self = Self(2u32);
192}
193impl ::core::marker::Copy for SmartCardCryptogramStorageKeyCapabilities {}
194impl ::core::clone::Clone for SmartCardCryptogramStorageKeyCapabilities {
195 fn clone(&self) -> Self {
196 *self
197 }
198}
199pub type SmartCardCryptogramStorageKeyCharacteristics = *mut ::core::ffi::c_void;
200pub type SmartCardCryptogramStorageKeyInfo = *mut ::core::ffi::c_void;
04454e1e 201#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
202#[repr(transparent)]
203pub struct SmartCardCryptographicKeyAttestationStatus(pub i32);
204impl SmartCardCryptographicKeyAttestationStatus {
205 pub const NoAttestation: Self = Self(0i32);
206 pub const SoftwareKeyWithoutTpm: Self = Self(1i32);
207 pub const SoftwareKeyWithTpm: Self = Self(2i32);
208 pub const TpmKeyUnknownAttestationStatus: Self = Self(3i32);
209 pub const TpmKeyWithoutAttestationCapability: Self = Self(4i32);
210 pub const TpmKeyWithTemporaryAttestationFailure: Self = Self(5i32);
211 pub const TpmKeyWithLongTermAttestationFailure: Self = Self(6i32);
212 pub const TpmKeyWithAttestation: Self = Self(7i32);
213}
214impl ::core::marker::Copy for SmartCardCryptographicKeyAttestationStatus {}
215impl ::core::clone::Clone for SmartCardCryptographicKeyAttestationStatus {
216 fn clone(&self) -> Self {
217 *self
218 }
219}
04454e1e 220#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
221#[repr(transparent)]
222pub struct SmartCardEmulationCategory(pub i32);
223impl SmartCardEmulationCategory {
224 pub const Other: Self = Self(0i32);
225 pub const Payment: Self = Self(1i32);
226}
227impl ::core::marker::Copy for SmartCardEmulationCategory {}
228impl ::core::clone::Clone for SmartCardEmulationCategory {
229 fn clone(&self) -> Self {
230 *self
231 }
232}
04454e1e 233#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
234#[repr(transparent)]
235pub struct SmartCardEmulationType(pub i32);
236impl SmartCardEmulationType {
237 pub const Host: Self = Self(0i32);
238 pub const Uicc: Self = Self(1i32);
239 pub const EmbeddedSE: Self = Self(2i32);
240}
241impl ::core::marker::Copy for SmartCardEmulationType {}
242impl ::core::clone::Clone for SmartCardEmulationType {
243 fn clone(&self) -> Self {
244 *self
245 }
246}
247pub type SmartCardEmulator = *mut ::core::ffi::c_void;
248pub type SmartCardEmulatorApduReceivedEventArgs = *mut ::core::ffi::c_void;
249pub type SmartCardEmulatorConnectionDeactivatedEventArgs = *mut ::core::ffi::c_void;
04454e1e 250#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
251#[repr(transparent)]
252pub struct SmartCardEmulatorConnectionDeactivatedReason(pub i32);
253impl SmartCardEmulatorConnectionDeactivatedReason {
254 pub const ConnectionLost: Self = Self(0i32);
255 pub const ConnectionRedirected: Self = Self(1i32);
256}
257impl ::core::marker::Copy for SmartCardEmulatorConnectionDeactivatedReason {}
258impl ::core::clone::Clone for SmartCardEmulatorConnectionDeactivatedReason {
259 fn clone(&self) -> Self {
260 *self
261 }
262}
263pub type SmartCardEmulatorConnectionProperties = *mut ::core::ffi::c_void;
04454e1e 264#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
265#[repr(transparent)]
266pub struct SmartCardEmulatorConnectionSource(pub i32);
267impl SmartCardEmulatorConnectionSource {
268 pub const Unknown: Self = Self(0i32);
269 pub const NfcReader: Self = Self(1i32);
270}
271impl ::core::marker::Copy for SmartCardEmulatorConnectionSource {}
272impl ::core::clone::Clone for SmartCardEmulatorConnectionSource {
273 fn clone(&self) -> Self {
274 *self
275 }
276}
04454e1e 277#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
278#[repr(transparent)]
279pub struct SmartCardEmulatorEnablementPolicy(pub i32);
280impl SmartCardEmulatorEnablementPolicy {
281 pub const Never: Self = Self(0i32);
282 pub const Always: Self = Self(1i32);
283 pub const ScreenOn: Self = Self(2i32);
284 pub const ScreenUnlocked: Self = Self(3i32);
285}
286impl ::core::marker::Copy for SmartCardEmulatorEnablementPolicy {}
287impl ::core::clone::Clone for SmartCardEmulatorEnablementPolicy {
288 fn clone(&self) -> Self {
289 *self
290 }
291}
04454e1e 292#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
293#[repr(transparent)]
294pub struct SmartCardLaunchBehavior(pub i32);
295impl SmartCardLaunchBehavior {
296 pub const Default: Self = Self(0i32);
297 pub const AboveLock: Self = Self(1i32);
298}
299impl ::core::marker::Copy for SmartCardLaunchBehavior {}
300impl ::core::clone::Clone for SmartCardLaunchBehavior {
301 fn clone(&self) -> Self {
302 *self
303 }
304}
04454e1e 305#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
306#[repr(transparent)]
307pub struct SmartCardPinCharacterPolicyOption(pub i32);
308impl SmartCardPinCharacterPolicyOption {
309 pub const Allow: Self = Self(0i32);
310 pub const RequireAtLeastOne: Self = Self(1i32);
311 pub const Disallow: Self = Self(2i32);
312}
313impl ::core::marker::Copy for SmartCardPinCharacterPolicyOption {}
314impl ::core::clone::Clone for SmartCardPinCharacterPolicyOption {
315 fn clone(&self) -> Self {
316 *self
317 }
318}
319pub type SmartCardPinPolicy = *mut ::core::ffi::c_void;
320pub type SmartCardPinResetDeferral = *mut ::core::ffi::c_void;
321pub type SmartCardPinResetHandler = *mut ::core::ffi::c_void;
322pub type SmartCardPinResetRequest = *mut ::core::ffi::c_void;
323pub type SmartCardProvisioning = *mut ::core::ffi::c_void;
324pub type SmartCardReader = *mut ::core::ffi::c_void;
04454e1e 325#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
326#[repr(transparent)]
327pub struct SmartCardReaderKind(pub i32);
328impl SmartCardReaderKind {
329 pub const Any: Self = Self(0i32);
330 pub const Generic: Self = Self(1i32);
331 pub const Tpm: Self = Self(2i32);
332 pub const Nfc: Self = Self(3i32);
333 pub const Uicc: Self = Self(4i32);
334 pub const EmbeddedSE: Self = Self(5i32);
335}
336impl ::core::marker::Copy for SmartCardReaderKind {}
337impl ::core::clone::Clone for SmartCardReaderKind {
338 fn clone(&self) -> Self {
339 *self
340 }
341}
04454e1e 342#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
343#[repr(transparent)]
344pub struct SmartCardReaderStatus(pub i32);
345impl SmartCardReaderStatus {
346 pub const Disconnected: Self = Self(0i32);
347 pub const Ready: Self = Self(1i32);
348 pub const Exclusive: Self = Self(2i32);
349}
350impl ::core::marker::Copy for SmartCardReaderStatus {}
351impl ::core::clone::Clone for SmartCardReaderStatus {
352 fn clone(&self) -> Self {
353 *self
354 }
355}
04454e1e 356#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
357#[repr(transparent)]
358pub struct SmartCardStatus(pub i32);
359impl SmartCardStatus {
360 pub const Disconnected: Self = Self(0i32);
361 pub const Ready: Self = Self(1i32);
362 pub const Shared: Self = Self(2i32);
363 pub const Exclusive: Self = Self(3i32);
364 pub const Unresponsive: Self = Self(4i32);
365}
366impl ::core::marker::Copy for SmartCardStatus {}
367impl ::core::clone::Clone for SmartCardStatus {
368 fn clone(&self) -> Self {
369 *self
370 }
371}
372pub type SmartCardTriggerDetails = *mut ::core::ffi::c_void;
04454e1e 373#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
374#[repr(transparent)]
375pub struct SmartCardTriggerType(pub i32);
376impl SmartCardTriggerType {
377 pub const EmulatorTransaction: Self = Self(0i32);
378 pub const EmulatorNearFieldEntry: Self = Self(1i32);
379 pub const EmulatorNearFieldExit: Self = Self(2i32);
380 pub const EmulatorHostApplicationActivated: Self = Self(3i32);
381 pub const EmulatorAppletIdGroupRegistrationChanged: Self = Self(4i32);
382 pub const ReaderCardAdded: Self = Self(5i32);
383}
384impl ::core::marker::Copy for SmartCardTriggerType {}
385impl ::core::clone::Clone for SmartCardTriggerType {
386 fn clone(&self) -> Self {
387 *self
388 }
389}
04454e1e 390#[doc = "*Required features: `\"Devices_SmartCards\"`*"]
5e7ed085
FG
391#[repr(transparent)]
392pub struct SmartCardUnlockPromptingBehavior(pub i32);
393impl SmartCardUnlockPromptingBehavior {
394 pub const AllowUnlockPrompt: Self = Self(0i32);
395 pub const RequireUnlockPrompt: Self = Self(1i32);
396 pub const PreventUnlockPrompt: Self = Self(2i32);
397}
398impl ::core::marker::Copy for SmartCardUnlockPromptingBehavior {}
399impl ::core::clone::Clone for SmartCardUnlockPromptingBehavior {
400 fn clone(&self) -> Self {
401 *self
402 }
403}