security_framework_sys/
base.rs1use core_foundation_sys::base::OSStatus;
2use core_foundation_sys::string::CFStringRef;
3use std::os::raw::c_void;
4
5pub enum OpaqueSecKeychainRef {}
6#[cfg(target_os = "macos")]
7pub type SecKeychainRef = *mut OpaqueSecKeychainRef;
8
9pub enum OpaqueSecKeychainItemRef {}
10#[cfg(target_os = "macos")]
11pub type SecKeychainItemRef = *mut OpaqueSecKeychainItemRef;
12
13#[cfg(target_os = "macos")]
15pub type SecKeychainAttrType = u32;
16
17#[repr(C)]
18#[derive(Copy, Clone)]
19#[cfg(target_os = "macos")]
20pub struct SecKeychainAttribute {
21 pub tag: SecKeychainAttrType,
22 pub length: u32,
23 pub data: *mut c_void,
24}
25
26#[repr(C)]
27#[derive(Copy, Clone)]
28#[cfg(target_os = "macos")]
29pub struct SecKeychainAttributeList {
30 pub count: u32,
31 pub attr: *mut SecKeychainAttribute,
32}
33
34pub enum OpaqueSecCertificateRef {}
35pub type SecCertificateRef = *mut OpaqueSecCertificateRef;
36
37pub enum OpaqueSecAccessRef {}
38#[cfg(target_os = "macos")]
39pub type SecAccessRef = *mut OpaqueSecAccessRef;
40
41pub enum OpaqueSecAccessControlRef {}
42pub type SecAccessControlRef = *mut OpaqueSecAccessControlRef;
43
44pub enum OpaqueSecKeyRef {}
45pub type SecKeyRef = *mut OpaqueSecKeyRef;
46
47pub enum OpaqueSecIdentityRef {}
48pub type SecIdentityRef = *mut OpaqueSecIdentityRef;
49
50pub enum OpaqueSecPolicyRef {}
51pub type SecPolicyRef = *mut OpaqueSecPolicyRef;
52
53pub const errSecSuccess: OSStatus = 0;
54pub const errSecUnimplemented: OSStatus = -4;
55pub const errSecIO: OSStatus = -36;
56pub const errSecParam: OSStatus = -50;
57pub const errSecBadReq: OSStatus = -909;
58pub const errSecNoTrustSettings: OSStatus = -25263;
59pub const errSecAuthFailed: OSStatus = -25293;
60pub const errSecDuplicateItem: OSStatus = -25299;
61pub const errSecItemNotFound: OSStatus = -25300;
62pub const errSecCreateChainFailed: OSStatus = -25318;
63pub const errSecConversionError: OSStatus = -67594;
64pub const errSecHostNameMismatch: OSStatus = -67602;
65pub const errSecInvalidExtendedKeyUsage: OSStatus = -67609;
66pub const errSecTrustSettingDeny: OSStatus = -67654;
67pub const errSecCertificateRevoked: OSStatus = -67820;
68pub const errSecNotTrusted: OSStatus = -67843;
69pub const errSecInternalComponent: OSStatus = -2070;
70
71extern "C" {
72 pub fn SecCopyErrorMessageString(status: OSStatus, reserved: *mut c_void) -> CFStringRef;
74}