objc2_security/
cssmapple.rs

1#![allow(deprecated, unused_imports, non_snake_case)]
2use crate::*;
3
4#[cfg(feature = "objc2")]
5use objc2::encode::{Encode, Encoding, RefEncode};
6
7/// [Apple's documentation](https://developer.apple.com/documentation/security/cssm_tp_apple_evidence_info?language=objc)
8#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
9#[deprecated]
10#[repr(C)]
11#[derive(Clone, Copy, Debug, PartialEq)]
12pub struct CSSM_TP_APPLE_EVIDENCE_INFO {
13    pub StatusBits: CSSM_TP_APPLE_CERT_STATUS,
14    pub NumStatusCodes: uint32,
15    pub StatusCodes: *mut CSSM_RETURN,
16    pub Index: uint32,
17    pub DlDbHandle: CSSM_DL_DB_HANDLE,
18    pub UniqueRecord: CSSM_DB_UNIQUE_RECORD_PTR,
19    #[cfg(all(target_vendor = "apple", not(target_os = "macos")))]
20    pub CrlReason: sint32,
21}
22
23#[cfg(all(
24    feature = "SecAsn1Types",
25    feature = "cssmconfig",
26    feature = "cssmtype",
27    feature = "objc2"
28))]
29unsafe impl Encode for CSSM_TP_APPLE_EVIDENCE_INFO {
30    const ENCODING: Encoding = Encoding::Struct(
31        "?",
32        &[
33            <CSSM_TP_APPLE_CERT_STATUS>::ENCODING,
34            <uint32>::ENCODING,
35            <*mut CSSM_RETURN>::ENCODING,
36            <uint32>::ENCODING,
37            <CSSM_DL_DB_HANDLE>::ENCODING,
38            <CSSM_DB_UNIQUE_RECORD_PTR>::ENCODING,
39            #[cfg(all(target_vendor = "apple", not(target_os = "macos")))]
40            <sint32>::ENCODING,
41        ],
42    );
43}
44
45#[cfg(all(
46    feature = "SecAsn1Types",
47    feature = "cssmconfig",
48    feature = "cssmtype",
49    feature = "objc2"
50))]
51unsafe impl RefEncode for CSSM_TP_APPLE_EVIDENCE_INFO {
52    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
53}