objc2_security/generated/
SecTrustSettings.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ptr::NonNull;
4#[cfg(feature = "objc2")]
5use objc2::__framework_prelude::*;
6use objc2_core_foundation::*;
7
8use crate::*;
9
10/// [Apple's documentation](https://developer.apple.com/documentation/security/sectrustsettingskeyusage?language=objc)
11// NS_OPTIONS
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct SecTrustSettingsKeyUsage(pub u32);
15bitflags::bitflags! {
16    impl SecTrustSettingsKeyUsage: u32 {
17        #[doc(alias = "kSecTrustSettingsKeyUseSignature")]
18        const UseSignature = 0x00000001;
19        #[doc(alias = "kSecTrustSettingsKeyUseEnDecryptData")]
20        const UseEnDecryptData = 0x00000002;
21        #[doc(alias = "kSecTrustSettingsKeyUseEnDecryptKey")]
22        const UseEnDecryptKey = 0x00000004;
23        #[doc(alias = "kSecTrustSettingsKeyUseSignCert")]
24        const UseSignCert = 0x00000008;
25        #[doc(alias = "kSecTrustSettingsKeyUseSignRevocation")]
26        const UseSignRevocation = 0x00000010;
27        #[doc(alias = "kSecTrustSettingsKeyUseKeyExchange")]
28        const UseKeyExchange = 0x00000020;
29        #[doc(alias = "kSecTrustSettingsKeyUseAny")]
30        const UseAny = 0xffffffff;
31    }
32}
33
34#[cfg(feature = "objc2")]
35unsafe impl Encode for SecTrustSettingsKeyUsage {
36    const ENCODING: Encoding = u32::ENCODING;
37}
38
39#[cfg(feature = "objc2")]
40unsafe impl RefEncode for SecTrustSettingsKeyUsage {
41    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
42}
43
44/// Result of a trust settings evaluation.
45///
46/// See also [Apple's documentation](https://developer.apple.com/documentation/security/sectrustsettingsresult?language=objc)
47// NS_ENUM
48#[repr(transparent)]
49#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
50pub struct SecTrustSettingsResult(pub u32);
51impl SecTrustSettingsResult {
52    #[doc(alias = "kSecTrustSettingsResultInvalid")]
53    pub const Invalid: Self = Self(0);
54    #[doc(alias = "kSecTrustSettingsResultTrustRoot")]
55    pub const TrustRoot: Self = Self(1);
56    #[doc(alias = "kSecTrustSettingsResultTrustAsRoot")]
57    pub const TrustAsRoot: Self = Self(2);
58    #[doc(alias = "kSecTrustSettingsResultDeny")]
59    pub const Deny: Self = Self(3);
60    #[doc(alias = "kSecTrustSettingsResultUnspecified")]
61    pub const Unspecified: Self = Self(4);
62}
63
64#[cfg(feature = "objc2")]
65unsafe impl Encode for SecTrustSettingsResult {
66    const ENCODING: Encoding = u32::ENCODING;
67}
68
69#[cfg(feature = "objc2")]
70unsafe impl RefEncode for SecTrustSettingsResult {
71    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
72}
73
74/// [Apple's documentation](https://developer.apple.com/documentation/security/sectrustsettingsdomain?language=objc)
75// NS_ENUM
76#[repr(transparent)]
77#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
78pub struct SecTrustSettingsDomain(pub u32);
79impl SecTrustSettingsDomain {
80    #[doc(alias = "kSecTrustSettingsDomainUser")]
81    pub const User: Self = Self(0);
82    #[doc(alias = "kSecTrustSettingsDomainAdmin")]
83    pub const Admin: Self = Self(1);
84    #[doc(alias = "kSecTrustSettingsDomainSystem")]
85    pub const System: Self = Self(2);
86}
87
88#[cfg(feature = "objc2")]
89unsafe impl Encode for SecTrustSettingsDomain {
90    const ENCODING: Encoding = u32::ENCODING;
91}
92
93#[cfg(feature = "objc2")]
94unsafe impl RefEncode for SecTrustSettingsDomain {
95    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
96}
97
98#[cfg(feature = "SecTrust")]
99impl SecTrust {
100    #[doc(alias = "SecTrustSettingsCopyTrustSettings")]
101    #[cfg(feature = "SecBase")]
102    #[inline]
103    pub unsafe fn settings_copy_trust_settings(
104        cert_ref: &SecCertificate,
105        domain: SecTrustSettingsDomain,
106        trust_settings: NonNull<*const CFArray>,
107    ) -> OSStatus {
108        extern "C-unwind" {
109            fn SecTrustSettingsCopyTrustSettings(
110                cert_ref: &SecCertificate,
111                domain: SecTrustSettingsDomain,
112                trust_settings: NonNull<*const CFArray>,
113            ) -> OSStatus;
114        }
115        unsafe { SecTrustSettingsCopyTrustSettings(cert_ref, domain, trust_settings) }
116    }
117
118    #[doc(alias = "SecTrustSettingsSetTrustSettings")]
119    #[cfg(feature = "SecBase")]
120    #[inline]
121    pub unsafe fn settings_set_trust_settings(
122        cert_ref: &SecCertificate,
123        domain: SecTrustSettingsDomain,
124        trust_settings_dict_or_array: Option<&CFType>,
125    ) -> OSStatus {
126        extern "C-unwind" {
127            fn SecTrustSettingsSetTrustSettings(
128                cert_ref: &SecCertificate,
129                domain: SecTrustSettingsDomain,
130                trust_settings_dict_or_array: Option<&CFType>,
131            ) -> OSStatus;
132        }
133        unsafe { SecTrustSettingsSetTrustSettings(cert_ref, domain, trust_settings_dict_or_array) }
134    }
135
136    #[doc(alias = "SecTrustSettingsRemoveTrustSettings")]
137    #[cfg(feature = "SecBase")]
138    #[inline]
139    pub unsafe fn settings_remove_trust_settings(
140        cert_ref: &SecCertificate,
141        domain: SecTrustSettingsDomain,
142    ) -> OSStatus {
143        extern "C-unwind" {
144            fn SecTrustSettingsRemoveTrustSettings(
145                cert_ref: &SecCertificate,
146                domain: SecTrustSettingsDomain,
147            ) -> OSStatus;
148        }
149        unsafe { SecTrustSettingsRemoveTrustSettings(cert_ref, domain) }
150    }
151
152    #[doc(alias = "SecTrustSettingsCopyCertificates")]
153    #[inline]
154    pub unsafe fn settings_copy_certificates(
155        domain: SecTrustSettingsDomain,
156        cert_array: *mut *const CFArray,
157    ) -> OSStatus {
158        extern "C-unwind" {
159            fn SecTrustSettingsCopyCertificates(
160                domain: SecTrustSettingsDomain,
161                cert_array: *mut *const CFArray,
162            ) -> OSStatus;
163        }
164        unsafe { SecTrustSettingsCopyCertificates(domain, cert_array) }
165    }
166
167    #[doc(alias = "SecTrustSettingsCopyModificationDate")]
168    #[cfg(feature = "SecBase")]
169    #[inline]
170    pub unsafe fn settings_copy_modification_date(
171        cert_ref: &SecCertificate,
172        domain: SecTrustSettingsDomain,
173        modification_date: NonNull<*const CFDate>,
174    ) -> OSStatus {
175        extern "C-unwind" {
176            fn SecTrustSettingsCopyModificationDate(
177                cert_ref: &SecCertificate,
178                domain: SecTrustSettingsDomain,
179                modification_date: NonNull<*const CFDate>,
180            ) -> OSStatus;
181        }
182        unsafe { SecTrustSettingsCopyModificationDate(cert_ref, domain, modification_date) }
183    }
184
185    #[doc(alias = "SecTrustSettingsCreateExternalRepresentation")]
186    #[inline]
187    pub unsafe fn settings_create_external_representation(
188        domain: SecTrustSettingsDomain,
189        trust_settings: NonNull<*const CFData>,
190    ) -> OSStatus {
191        extern "C-unwind" {
192            fn SecTrustSettingsCreateExternalRepresentation(
193                domain: SecTrustSettingsDomain,
194                trust_settings: NonNull<*const CFData>,
195            ) -> OSStatus;
196        }
197        unsafe { SecTrustSettingsCreateExternalRepresentation(domain, trust_settings) }
198    }
199
200    #[doc(alias = "SecTrustSettingsImportExternalRepresentation")]
201    #[inline]
202    pub unsafe fn settings_import_external_representation(
203        domain: SecTrustSettingsDomain,
204        trust_settings: &CFData,
205    ) -> OSStatus {
206        extern "C-unwind" {
207            fn SecTrustSettingsImportExternalRepresentation(
208                domain: SecTrustSettingsDomain,
209                trust_settings: &CFData,
210            ) -> OSStatus;
211        }
212        unsafe { SecTrustSettingsImportExternalRepresentation(domain, trust_settings) }
213    }
214}
215
216extern "C-unwind" {
217    #[cfg(feature = "SecBase")]
218    #[deprecated = "renamed to `SecTrust::settings_copy_trust_settings`"]
219    pub fn SecTrustSettingsCopyTrustSettings(
220        cert_ref: &SecCertificate,
221        domain: SecTrustSettingsDomain,
222        trust_settings: NonNull<*const CFArray>,
223    ) -> OSStatus;
224}
225
226extern "C-unwind" {
227    #[cfg(feature = "SecBase")]
228    #[deprecated = "renamed to `SecTrust::settings_set_trust_settings`"]
229    pub fn SecTrustSettingsSetTrustSettings(
230        cert_ref: &SecCertificate,
231        domain: SecTrustSettingsDomain,
232        trust_settings_dict_or_array: Option<&CFType>,
233    ) -> OSStatus;
234}
235
236extern "C-unwind" {
237    #[cfg(feature = "SecBase")]
238    #[deprecated = "renamed to `SecTrust::settings_remove_trust_settings`"]
239    pub fn SecTrustSettingsRemoveTrustSettings(
240        cert_ref: &SecCertificate,
241        domain: SecTrustSettingsDomain,
242    ) -> OSStatus;
243}
244
245extern "C-unwind" {
246    #[deprecated = "renamed to `SecTrust::settings_copy_certificates`"]
247    pub fn SecTrustSettingsCopyCertificates(
248        domain: SecTrustSettingsDomain,
249        cert_array: *mut *const CFArray,
250    ) -> OSStatus;
251}
252
253extern "C-unwind" {
254    #[cfg(feature = "SecBase")]
255    #[deprecated = "renamed to `SecTrust::settings_copy_modification_date`"]
256    pub fn SecTrustSettingsCopyModificationDate(
257        cert_ref: &SecCertificate,
258        domain: SecTrustSettingsDomain,
259        modification_date: NonNull<*const CFDate>,
260    ) -> OSStatus;
261}
262
263extern "C-unwind" {
264    #[deprecated = "renamed to `SecTrust::settings_create_external_representation`"]
265    pub fn SecTrustSettingsCreateExternalRepresentation(
266        domain: SecTrustSettingsDomain,
267        trust_settings: NonNull<*const CFData>,
268    ) -> OSStatus;
269}
270
271extern "C-unwind" {
272    #[deprecated = "renamed to `SecTrust::settings_import_external_representation`"]
273    pub fn SecTrustSettingsImportExternalRepresentation(
274        domain: SecTrustSettingsDomain,
275        trust_settings: &CFData,
276    ) -> OSStatus;
277}