objc2_security/generated/
x509defs.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4#[cfg(feature = "objc2")]
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_ber_tag?language=objc)
10#[cfg(feature = "cssmconfig")]
11pub type CSSM_BER_TAG = uint8;
12
13/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_algorithm_identifier_ptr?language=objc)
14#[cfg(feature = "SecAsn1Types")]
15pub type CSSM_X509_ALGORITHM_IDENTIFIER_PTR = *mut SecAsn1AlgId;
16
17/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_type_value_pair?language=objc)
18#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
19#[deprecated]
20#[repr(C)]
21#[derive(Clone, Copy, Debug, PartialEq)]
22pub struct cssm_x509_type_value_pair {
23    pub r#type: SecAsn1Oid,
24    pub valueType: CSSM_BER_TAG,
25    pub value: SecAsn1Item,
26}
27
28#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
29unsafe impl Encode for cssm_x509_type_value_pair {
30    const ENCODING: Encoding = Encoding::Struct(
31        "cssm_x509_type_value_pair",
32        &[
33            <SecAsn1Oid>::ENCODING,
34            <CSSM_BER_TAG>::ENCODING,
35            <SecAsn1Item>::ENCODING,
36        ],
37    );
38}
39
40#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
41unsafe impl RefEncode for cssm_x509_type_value_pair {
42    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
43}
44
45/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_type_value_pair?language=objc)
46#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
47pub type CSSM_X509_TYPE_VALUE_PAIR = cssm_x509_type_value_pair;
48
49/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_type_value_pair_ptr?language=objc)
50#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
51pub type CSSM_X509_TYPE_VALUE_PAIR_PTR = *mut cssm_x509_type_value_pair;
52
53/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_rdn?language=objc)
54#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
55#[deprecated]
56#[repr(C)]
57#[derive(Clone, Copy, Debug, PartialEq)]
58pub struct cssm_x509_rdn {
59    pub numberOfPairs: uint32,
60    pub AttributeTypeAndValue: CSSM_X509_TYPE_VALUE_PAIR_PTR,
61}
62
63#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
64unsafe impl Encode for cssm_x509_rdn {
65    const ENCODING: Encoding = Encoding::Struct(
66        "cssm_x509_rdn",
67        &[
68            <uint32>::ENCODING,
69            <CSSM_X509_TYPE_VALUE_PAIR_PTR>::ENCODING,
70        ],
71    );
72}
73
74#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
75unsafe impl RefEncode for cssm_x509_rdn {
76    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
77}
78
79/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_rdn?language=objc)
80#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
81pub type CSSM_X509_RDN = cssm_x509_rdn;
82
83/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_rdn_ptr?language=objc)
84#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
85pub type CSSM_X509_RDN_PTR = *mut cssm_x509_rdn;
86
87/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_name?language=objc)
88#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
89#[deprecated]
90#[repr(C)]
91#[derive(Clone, Copy, Debug, PartialEq)]
92pub struct cssm_x509_name {
93    pub numberOfRDNs: uint32,
94    pub RelativeDistinguishedName: CSSM_X509_RDN_PTR,
95}
96
97#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
98unsafe impl Encode for cssm_x509_name {
99    const ENCODING: Encoding = Encoding::Struct(
100        "cssm_x509_name",
101        &[<uint32>::ENCODING, <CSSM_X509_RDN_PTR>::ENCODING],
102    );
103}
104
105#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
106unsafe impl RefEncode for cssm_x509_name {
107    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
108}
109
110/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_name?language=objc)
111#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
112pub type CSSM_X509_NAME = cssm_x509_name;
113
114/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_name_ptr?language=objc)
115#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
116pub type CSSM_X509_NAME_PTR = *mut cssm_x509_name;
117
118/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_subject_public_key_info_ptr?language=objc)
119#[cfg(feature = "SecAsn1Types")]
120pub type CSSM_X509_SUBJECT_PUBLIC_KEY_INFO_PTR = *mut SecAsn1PubKeyInfo;
121
122/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_time?language=objc)
123#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
124#[deprecated]
125#[repr(C)]
126#[derive(Clone, Copy, Debug, PartialEq)]
127pub struct cssm_x509_time {
128    pub timeType: CSSM_BER_TAG,
129    pub time: SecAsn1Item,
130}
131
132#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
133unsafe impl Encode for cssm_x509_time {
134    const ENCODING: Encoding = Encoding::Struct(
135        "cssm_x509_time",
136        &[<CSSM_BER_TAG>::ENCODING, <SecAsn1Item>::ENCODING],
137    );
138}
139
140#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
141unsafe impl RefEncode for cssm_x509_time {
142    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
143}
144
145/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_time?language=objc)
146#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
147pub type CSSM_X509_TIME = cssm_x509_time;
148
149/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_time_ptr?language=objc)
150#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
151pub type CSSM_X509_TIME_PTR = *mut cssm_x509_time;
152
153/// [Apple's documentation](https://developer.apple.com/documentation/security/x509_validity?language=objc)
154#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
155#[deprecated]
156#[repr(C)]
157#[derive(Clone, Copy, Debug, PartialEq)]
158pub struct x509_validity {
159    pub notBefore: CSSM_X509_TIME,
160    pub notAfter: CSSM_X509_TIME,
161}
162
163#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
164unsafe impl Encode for x509_validity {
165    const ENCODING: Encoding = Encoding::Struct(
166        "x509_validity",
167        &[<CSSM_X509_TIME>::ENCODING, <CSSM_X509_TIME>::ENCODING],
168    );
169}
170
171#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
172unsafe impl RefEncode for x509_validity {
173    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
174}
175
176/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_validity?language=objc)
177#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
178pub type CSSM_X509_VALIDITY = x509_validity;
179
180/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_validity_ptr?language=objc)
181#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
182pub type CSSM_X509_VALIDITY_PTR = *mut x509_validity;
183
184/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_option?language=objc)
185#[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
186pub type CSSM_X509_OPTION = CSSM_BOOL;
187
188/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_basicconstraints?language=objc)
189#[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
190#[deprecated]
191#[repr(C)]
192#[derive(Clone, Copy, Debug, PartialEq)]
193pub struct cssm_x509ext_basicConstraints {
194    pub cA: CSSM_BOOL,
195    pub pathLenConstraintPresent: CSSM_X509_OPTION,
196    pub pathLenConstraint: uint32,
197}
198
199#[cfg(all(feature = "cssmconfig", feature = "cssmtype", feature = "objc2"))]
200unsafe impl Encode for cssm_x509ext_basicConstraints {
201    const ENCODING: Encoding = Encoding::Struct(
202        "cssm_x509ext_basicConstraints",
203        &[
204            <CSSM_BOOL>::ENCODING,
205            <CSSM_X509_OPTION>::ENCODING,
206            <uint32>::ENCODING,
207        ],
208    );
209}
210
211#[cfg(all(feature = "cssmconfig", feature = "cssmtype", feature = "objc2"))]
212unsafe impl RefEncode for cssm_x509ext_basicConstraints {
213    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
214}
215
216/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_basicconstraints?language=objc)
217#[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
218pub type CSSM_X509EXT_BASICCONSTRAINTS = cssm_x509ext_basicConstraints;
219
220/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_basicconstraints_ptr?language=objc)
221#[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
222pub type CSSM_X509EXT_BASICCONSTRAINTS_PTR = *mut cssm_x509ext_basicConstraints;
223
224/// [Apple's documentation](https://developer.apple.com/documentation/security/extension_data_format?language=objc)
225#[repr(transparent)]
226#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
227pub struct extension_data_format(pub c_uint);
228impl extension_data_format {
229    pub const CSSM_X509_DATAFORMAT_ENCODED: Self = Self(0);
230    pub const CSSM_X509_DATAFORMAT_PARSED: Self = Self(1);
231    pub const CSSM_X509_DATAFORMAT_PAIR: Self = Self(2);
232}
233
234#[cfg(feature = "objc2")]
235unsafe impl Encode for extension_data_format {
236    const ENCODING: Encoding = c_uint::ENCODING;
237}
238
239#[cfg(feature = "objc2")]
240unsafe impl RefEncode for extension_data_format {
241    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
242}
243
244/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_data_format?language=objc)
245pub type CSSM_X509EXT_DATA_FORMAT = extension_data_format;
246
247/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_extensiontagandvalue?language=objc)
248#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
249#[deprecated]
250#[repr(C)]
251#[derive(Clone, Copy, Debug, PartialEq)]
252pub struct cssm_x509_extensionTagAndValue {
253    pub r#type: CSSM_BER_TAG,
254    pub value: SecAsn1Item,
255}
256
257#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
258unsafe impl Encode for cssm_x509_extensionTagAndValue {
259    const ENCODING: Encoding = Encoding::Struct(
260        "cssm_x509_extensionTagAndValue",
261        &[<CSSM_BER_TAG>::ENCODING, <SecAsn1Item>::ENCODING],
262    );
263}
264
265#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
266unsafe impl RefEncode for cssm_x509_extensionTagAndValue {
267    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
268}
269
270/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_tagandvalue?language=objc)
271#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
272pub type CSSM_X509EXT_TAGandVALUE = cssm_x509_extensionTagAndValue;
273
274/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_tagandvalue_ptr?language=objc)
275#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
276pub type CSSM_X509EXT_TAGandVALUE_PTR = *mut cssm_x509_extensionTagAndValue;
277
278/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_pair?language=objc)
279#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
280#[deprecated]
281#[repr(C)]
282#[derive(Clone, Copy, Debug, PartialEq)]
283pub struct cssm_x509ext_pair {
284    pub tagAndValue: CSSM_X509EXT_TAGandVALUE,
285    pub parsedValue: *mut c_void,
286}
287
288#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
289unsafe impl Encode for cssm_x509ext_pair {
290    const ENCODING: Encoding = Encoding::Struct(
291        "cssm_x509ext_pair",
292        &[
293            <CSSM_X509EXT_TAGandVALUE>::ENCODING,
294            <*mut c_void>::ENCODING,
295        ],
296    );
297}
298
299#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
300unsafe impl RefEncode for cssm_x509ext_pair {
301    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
302}
303
304/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_pair?language=objc)
305#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
306pub type CSSM_X509EXT_PAIR = cssm_x509ext_pair;
307
308/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_pair_ptr?language=objc)
309#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
310pub type CSSM_X509EXT_PAIR_PTR = *mut cssm_x509ext_pair;
311
312/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_value?language=objc)
313#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
314#[deprecated]
315#[repr(C)]
316#[derive(Clone, Copy)]
317pub union cssm_x509ext_value {
318    pub tagAndValue: *mut CSSM_X509EXT_TAGandVALUE,
319    pub parsedValue: *mut c_void,
320    pub valuePair: *mut CSSM_X509EXT_PAIR,
321}
322
323#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
324unsafe impl Encode for cssm_x509ext_value {
325    const ENCODING: Encoding = Encoding::Union(
326        "cssm_x509ext_value",
327        &[
328            <*mut CSSM_X509EXT_TAGandVALUE>::ENCODING,
329            <*mut c_void>::ENCODING,
330            <*mut CSSM_X509EXT_PAIR>::ENCODING,
331        ],
332    );
333}
334
335#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
336unsafe impl RefEncode for cssm_x509ext_value {
337    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
338}
339
340/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_extension?language=objc)
341#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
342#[deprecated]
343#[repr(C)]
344#[derive(Clone, Copy)]
345pub struct cssm_x509_extension {
346    pub extnId: SecAsn1Oid,
347    pub critical: CSSM_BOOL,
348    pub format: CSSM_X509EXT_DATA_FORMAT,
349    pub value: cssm_x509ext_value,
350    pub BERvalue: SecAsn1Item,
351}
352
353#[cfg(all(
354    feature = "SecAsn1Types",
355    feature = "cssmconfig",
356    feature = "cssmtype",
357    feature = "objc2"
358))]
359unsafe impl Encode for cssm_x509_extension {
360    const ENCODING: Encoding = Encoding::Struct(
361        "cssm_x509_extension",
362        &[
363            <SecAsn1Oid>::ENCODING,
364            <CSSM_BOOL>::ENCODING,
365            <CSSM_X509EXT_DATA_FORMAT>::ENCODING,
366            <cssm_x509ext_value>::ENCODING,
367            <SecAsn1Item>::ENCODING,
368        ],
369    );
370}
371
372#[cfg(all(
373    feature = "SecAsn1Types",
374    feature = "cssmconfig",
375    feature = "cssmtype",
376    feature = "objc2"
377))]
378unsafe impl RefEncode for cssm_x509_extension {
379    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
380}
381
382/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_extension?language=objc)
383#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
384pub type CSSM_X509_EXTENSION = cssm_x509_extension;
385
386/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_extension_ptr?language=objc)
387#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
388pub type CSSM_X509_EXTENSION_PTR = *mut cssm_x509_extension;
389
390/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_extensions?language=objc)
391#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
392#[deprecated]
393#[repr(C)]
394#[derive(Clone, Copy, Debug, PartialEq)]
395pub struct cssm_x509_extensions {
396    pub numberOfExtensions: uint32,
397    pub extensions: CSSM_X509_EXTENSION_PTR,
398}
399
400#[cfg(all(
401    feature = "SecAsn1Types",
402    feature = "cssmconfig",
403    feature = "cssmtype",
404    feature = "objc2"
405))]
406unsafe impl Encode for cssm_x509_extensions {
407    const ENCODING: Encoding = Encoding::Struct(
408        "cssm_x509_extensions",
409        &[<uint32>::ENCODING, <CSSM_X509_EXTENSION_PTR>::ENCODING],
410    );
411}
412
413#[cfg(all(
414    feature = "SecAsn1Types",
415    feature = "cssmconfig",
416    feature = "cssmtype",
417    feature = "objc2"
418))]
419unsafe impl RefEncode for cssm_x509_extensions {
420    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
421}
422
423/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_extensions?language=objc)
424#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
425pub type CSSM_X509_EXTENSIONS = cssm_x509_extensions;
426
427/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_extensions_ptr?language=objc)
428#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
429pub type CSSM_X509_EXTENSIONS_PTR = *mut cssm_x509_extensions;
430
431/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_tbs_certificate?language=objc)
432#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
433#[deprecated]
434#[repr(C)]
435#[derive(Clone, Copy, Debug, PartialEq)]
436pub struct cssm_x509_tbs_certificate {
437    pub version: SecAsn1Item,
438    pub serialNumber: SecAsn1Item,
439    pub signature: SecAsn1AlgId,
440    pub issuer: CSSM_X509_NAME,
441    pub validity: CSSM_X509_VALIDITY,
442    pub subject: CSSM_X509_NAME,
443    pub subjectPublicKeyInfo: SecAsn1PubKeyInfo,
444    pub issuerUniqueIdentifier: SecAsn1Item,
445    pub subjectUniqueIdentifier: SecAsn1Item,
446    pub extensions: CSSM_X509_EXTENSIONS,
447}
448
449#[cfg(all(
450    feature = "SecAsn1Types",
451    feature = "cssmconfig",
452    feature = "cssmtype",
453    feature = "objc2"
454))]
455unsafe impl Encode for cssm_x509_tbs_certificate {
456    const ENCODING: Encoding = Encoding::Struct(
457        "cssm_x509_tbs_certificate",
458        &[
459            <SecAsn1Item>::ENCODING,
460            <SecAsn1Item>::ENCODING,
461            <SecAsn1AlgId>::ENCODING,
462            <CSSM_X509_NAME>::ENCODING,
463            <CSSM_X509_VALIDITY>::ENCODING,
464            <CSSM_X509_NAME>::ENCODING,
465            <SecAsn1PubKeyInfo>::ENCODING,
466            <SecAsn1Item>::ENCODING,
467            <SecAsn1Item>::ENCODING,
468            <CSSM_X509_EXTENSIONS>::ENCODING,
469        ],
470    );
471}
472
473#[cfg(all(
474    feature = "SecAsn1Types",
475    feature = "cssmconfig",
476    feature = "cssmtype",
477    feature = "objc2"
478))]
479unsafe impl RefEncode for cssm_x509_tbs_certificate {
480    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
481}
482
483/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_tbs_certificate?language=objc)
484#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
485pub type CSSM_X509_TBS_CERTIFICATE = cssm_x509_tbs_certificate;
486
487/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_tbs_certificate_ptr?language=objc)
488#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
489pub type CSSM_X509_TBS_CERTIFICATE_PTR = *mut cssm_x509_tbs_certificate;
490
491/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_signature?language=objc)
492#[cfg(feature = "SecAsn1Types")]
493#[deprecated]
494#[repr(C)]
495#[derive(Clone, Copy, Debug, PartialEq)]
496pub struct cssm_x509_signature {
497    pub algorithmIdentifier: SecAsn1AlgId,
498    pub encrypted: SecAsn1Item,
499}
500
501#[cfg(all(feature = "SecAsn1Types", feature = "objc2"))]
502unsafe impl Encode for cssm_x509_signature {
503    const ENCODING: Encoding = Encoding::Struct(
504        "cssm_x509_signature",
505        &[<SecAsn1AlgId>::ENCODING, <SecAsn1Item>::ENCODING],
506    );
507}
508
509#[cfg(all(feature = "SecAsn1Types", feature = "objc2"))]
510unsafe impl RefEncode for cssm_x509_signature {
511    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
512}
513
514/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_signature?language=objc)
515#[cfg(feature = "SecAsn1Types")]
516pub type CSSM_X509_SIGNATURE = cssm_x509_signature;
517
518/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_signature_ptr?language=objc)
519#[cfg(feature = "SecAsn1Types")]
520pub type CSSM_X509_SIGNATURE_PTR = *mut cssm_x509_signature;
521
522/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_signed_certificate?language=objc)
523#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
524#[deprecated]
525#[repr(C)]
526#[derive(Clone, Copy, Debug, PartialEq)]
527pub struct cssm_x509_signed_certificate {
528    pub certificate: CSSM_X509_TBS_CERTIFICATE,
529    pub signature: CSSM_X509_SIGNATURE,
530}
531
532#[cfg(all(
533    feature = "SecAsn1Types",
534    feature = "cssmconfig",
535    feature = "cssmtype",
536    feature = "objc2"
537))]
538unsafe impl Encode for cssm_x509_signed_certificate {
539    const ENCODING: Encoding = Encoding::Struct(
540        "cssm_x509_signed_certificate",
541        &[
542            <CSSM_X509_TBS_CERTIFICATE>::ENCODING,
543            <CSSM_X509_SIGNATURE>::ENCODING,
544        ],
545    );
546}
547
548#[cfg(all(
549    feature = "SecAsn1Types",
550    feature = "cssmconfig",
551    feature = "cssmtype",
552    feature = "objc2"
553))]
554unsafe impl RefEncode for cssm_x509_signed_certificate {
555    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
556}
557
558/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_signed_certificate?language=objc)
559#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
560pub type CSSM_X509_SIGNED_CERTIFICATE = cssm_x509_signed_certificate;
561
562/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_signed_certificate_ptr?language=objc)
563#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
564pub type CSSM_X509_SIGNED_CERTIFICATE_PTR = *mut cssm_x509_signed_certificate;
565
566/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_policyqualifierinfo?language=objc)
567#[cfg(feature = "SecAsn1Types")]
568#[deprecated]
569#[repr(C)]
570#[derive(Clone, Copy, Debug, PartialEq)]
571pub struct cssm_x509ext_policyQualifierInfo {
572    pub policyQualifierId: SecAsn1Oid,
573    pub value: SecAsn1Item,
574}
575
576#[cfg(all(feature = "SecAsn1Types", feature = "objc2"))]
577unsafe impl Encode for cssm_x509ext_policyQualifierInfo {
578    const ENCODING: Encoding = Encoding::Struct(
579        "cssm_x509ext_policyQualifierInfo",
580        &[<SecAsn1Oid>::ENCODING, <SecAsn1Item>::ENCODING],
581    );
582}
583
584#[cfg(all(feature = "SecAsn1Types", feature = "objc2"))]
585unsafe impl RefEncode for cssm_x509ext_policyQualifierInfo {
586    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
587}
588
589/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_policyqualifierinfo?language=objc)
590#[cfg(feature = "SecAsn1Types")]
591pub type CSSM_X509EXT_POLICYQUALIFIERINFO = cssm_x509ext_policyQualifierInfo;
592
593/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_policyqualifierinfo_ptr?language=objc)
594#[cfg(feature = "SecAsn1Types")]
595pub type CSSM_X509EXT_POLICYQUALIFIERINFO_PTR = *mut cssm_x509ext_policyQualifierInfo;
596
597/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_policyqualifiers?language=objc)
598#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
599#[deprecated]
600#[repr(C)]
601#[derive(Clone, Copy, Debug, PartialEq)]
602pub struct cssm_x509ext_policyQualifiers {
603    pub numberOfPolicyQualifiers: uint32,
604    pub policyQualifier: *mut CSSM_X509EXT_POLICYQUALIFIERINFO,
605}
606
607#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
608unsafe impl Encode for cssm_x509ext_policyQualifiers {
609    const ENCODING: Encoding = Encoding::Struct(
610        "cssm_x509ext_policyQualifiers",
611        &[
612            <uint32>::ENCODING,
613            <*mut CSSM_X509EXT_POLICYQUALIFIERINFO>::ENCODING,
614        ],
615    );
616}
617
618#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
619unsafe impl RefEncode for cssm_x509ext_policyQualifiers {
620    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
621}
622
623/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_policyqualifiers?language=objc)
624#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
625pub type CSSM_X509EXT_POLICYQUALIFIERS = cssm_x509ext_policyQualifiers;
626
627/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_policyqualifiers_ptr?language=objc)
628#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
629pub type CSSM_X509EXT_POLICYQUALIFIERS_PTR = *mut cssm_x509ext_policyQualifiers;
630
631/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_policyinfo?language=objc)
632#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
633#[deprecated]
634#[repr(C)]
635#[derive(Clone, Copy, Debug, PartialEq)]
636pub struct cssm_x509ext_policyInfo {
637    pub policyIdentifier: SecAsn1Oid,
638    pub policyQualifiers: CSSM_X509EXT_POLICYQUALIFIERS,
639}
640
641#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
642unsafe impl Encode for cssm_x509ext_policyInfo {
643    const ENCODING: Encoding = Encoding::Struct(
644        "cssm_x509ext_policyInfo",
645        &[
646            <SecAsn1Oid>::ENCODING,
647            <CSSM_X509EXT_POLICYQUALIFIERS>::ENCODING,
648        ],
649    );
650}
651
652#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "objc2"))]
653unsafe impl RefEncode for cssm_x509ext_policyInfo {
654    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
655}
656
657/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_policyinfo?language=objc)
658#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
659pub type CSSM_X509EXT_POLICYINFO = cssm_x509ext_policyInfo;
660
661/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509ext_policyinfo_ptr?language=objc)
662#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig"))]
663pub type CSSM_X509EXT_POLICYINFO_PTR = *mut cssm_x509ext_policyInfo;
664
665/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_revoked_cert_entry?language=objc)
666#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
667#[deprecated]
668#[repr(C)]
669#[derive(Clone, Copy, Debug, PartialEq)]
670pub struct cssm_x509_revoked_cert_entry {
671    pub certificateSerialNumber: SecAsn1Item,
672    pub revocationDate: CSSM_X509_TIME,
673    pub extensions: CSSM_X509_EXTENSIONS,
674}
675
676#[cfg(all(
677    feature = "SecAsn1Types",
678    feature = "cssmconfig",
679    feature = "cssmtype",
680    feature = "objc2"
681))]
682unsafe impl Encode for cssm_x509_revoked_cert_entry {
683    const ENCODING: Encoding = Encoding::Struct(
684        "cssm_x509_revoked_cert_entry",
685        &[
686            <SecAsn1Item>::ENCODING,
687            <CSSM_X509_TIME>::ENCODING,
688            <CSSM_X509_EXTENSIONS>::ENCODING,
689        ],
690    );
691}
692
693#[cfg(all(
694    feature = "SecAsn1Types",
695    feature = "cssmconfig",
696    feature = "cssmtype",
697    feature = "objc2"
698))]
699unsafe impl RefEncode for cssm_x509_revoked_cert_entry {
700    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
701}
702
703/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_revoked_cert_entry?language=objc)
704#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
705pub type CSSM_X509_REVOKED_CERT_ENTRY = cssm_x509_revoked_cert_entry;
706
707/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_revoked_cert_entry_ptr?language=objc)
708#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
709pub type CSSM_X509_REVOKED_CERT_ENTRY_PTR = *mut cssm_x509_revoked_cert_entry;
710
711/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_revoked_cert_list?language=objc)
712#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
713#[deprecated]
714#[repr(C)]
715#[derive(Clone, Copy, Debug, PartialEq)]
716pub struct cssm_x509_revoked_cert_list {
717    pub numberOfRevokedCertEntries: uint32,
718    pub revokedCertEntry: CSSM_X509_REVOKED_CERT_ENTRY_PTR,
719}
720
721#[cfg(all(
722    feature = "SecAsn1Types",
723    feature = "cssmconfig",
724    feature = "cssmtype",
725    feature = "objc2"
726))]
727unsafe impl Encode for cssm_x509_revoked_cert_list {
728    const ENCODING: Encoding = Encoding::Struct(
729        "cssm_x509_revoked_cert_list",
730        &[
731            <uint32>::ENCODING,
732            <CSSM_X509_REVOKED_CERT_ENTRY_PTR>::ENCODING,
733        ],
734    );
735}
736
737#[cfg(all(
738    feature = "SecAsn1Types",
739    feature = "cssmconfig",
740    feature = "cssmtype",
741    feature = "objc2"
742))]
743unsafe impl RefEncode for cssm_x509_revoked_cert_list {
744    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
745}
746
747/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_revoked_cert_list?language=objc)
748#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
749pub type CSSM_X509_REVOKED_CERT_LIST = cssm_x509_revoked_cert_list;
750
751/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_revoked_cert_list_ptr?language=objc)
752#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
753pub type CSSM_X509_REVOKED_CERT_LIST_PTR = *mut cssm_x509_revoked_cert_list;
754
755/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_tbs_certlist?language=objc)
756#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
757#[deprecated]
758#[repr(C)]
759#[derive(Clone, Copy, Debug, PartialEq)]
760pub struct cssm_x509_tbs_certlist {
761    pub version: SecAsn1Item,
762    pub signature: SecAsn1AlgId,
763    pub issuer: CSSM_X509_NAME,
764    pub thisUpdate: CSSM_X509_TIME,
765    pub nextUpdate: CSSM_X509_TIME,
766    pub revokedCertificates: CSSM_X509_REVOKED_CERT_LIST_PTR,
767    pub extensions: CSSM_X509_EXTENSIONS,
768}
769
770#[cfg(all(
771    feature = "SecAsn1Types",
772    feature = "cssmconfig",
773    feature = "cssmtype",
774    feature = "objc2"
775))]
776unsafe impl Encode for cssm_x509_tbs_certlist {
777    const ENCODING: Encoding = Encoding::Struct(
778        "cssm_x509_tbs_certlist",
779        &[
780            <SecAsn1Item>::ENCODING,
781            <SecAsn1AlgId>::ENCODING,
782            <CSSM_X509_NAME>::ENCODING,
783            <CSSM_X509_TIME>::ENCODING,
784            <CSSM_X509_TIME>::ENCODING,
785            <CSSM_X509_REVOKED_CERT_LIST_PTR>::ENCODING,
786            <CSSM_X509_EXTENSIONS>::ENCODING,
787        ],
788    );
789}
790
791#[cfg(all(
792    feature = "SecAsn1Types",
793    feature = "cssmconfig",
794    feature = "cssmtype",
795    feature = "objc2"
796))]
797unsafe impl RefEncode for cssm_x509_tbs_certlist {
798    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
799}
800
801/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_tbs_certlist?language=objc)
802#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
803pub type CSSM_X509_TBS_CERTLIST = cssm_x509_tbs_certlist;
804
805/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_tbs_certlist_ptr?language=objc)
806#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
807pub type CSSM_X509_TBS_CERTLIST_PTR = *mut cssm_x509_tbs_certlist;
808
809/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_signed_crl?language=objc)
810#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
811#[deprecated]
812#[repr(C)]
813#[derive(Clone, Copy, Debug, PartialEq)]
814pub struct cssm_x509_signed_crl {
815    pub tbsCertList: CSSM_X509_TBS_CERTLIST,
816    pub signature: CSSM_X509_SIGNATURE,
817}
818
819#[cfg(all(
820    feature = "SecAsn1Types",
821    feature = "cssmconfig",
822    feature = "cssmtype",
823    feature = "objc2"
824))]
825unsafe impl Encode for cssm_x509_signed_crl {
826    const ENCODING: Encoding = Encoding::Struct(
827        "cssm_x509_signed_crl",
828        &[
829            <CSSM_X509_TBS_CERTLIST>::ENCODING,
830            <CSSM_X509_SIGNATURE>::ENCODING,
831        ],
832    );
833}
834
835#[cfg(all(
836    feature = "SecAsn1Types",
837    feature = "cssmconfig",
838    feature = "cssmtype",
839    feature = "objc2"
840))]
841unsafe impl RefEncode for cssm_x509_signed_crl {
842    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
843}
844
845/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_signed_crl?language=objc)
846#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
847pub type CSSM_X509_SIGNED_CRL = cssm_x509_signed_crl;
848
849/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_x509_signed_crl_ptr?language=objc)
850#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
851pub type CSSM_X509_SIGNED_CRL_PTR = *mut cssm_x509_signed_crl;