summaryrefslogtreecommitdiff
path: root/vendor/security-framework-sys/src/base.rs
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-07-10 13:11:11 -0600
committermo khan <mo@mokhan.ca>2025-07-10 13:11:11 -0600
commit01959b16a21b22b5df5f16569c2a8e8f92beecef (patch)
tree32afa5d747c5466345c59ec52161a7cba3d6d755 /vendor/security-framework-sys/src/base.rs
parentff30574117a996df332e23d1fb6f65259b316b5b (diff)
chore: vendor dependencies
Diffstat (limited to 'vendor/security-framework-sys/src/base.rs')
-rw-r--r--vendor/security-framework-sys/src/base.rs68
1 files changed, 68 insertions, 0 deletions
diff --git a/vendor/security-framework-sys/src/base.rs b/vendor/security-framework-sys/src/base.rs
new file mode 100644
index 00000000..fafc57cc
--- /dev/null
+++ b/vendor/security-framework-sys/src/base.rs
@@ -0,0 +1,68 @@
+use core_foundation_sys::base::OSStatus;
+use core_foundation_sys::string::CFStringRef;
+use std::os::raw::c_void;
+
+pub enum OpaqueSecKeychainRef {}
+pub type SecKeychainRef = *mut OpaqueSecKeychainRef;
+
+pub enum OpaqueSecKeychainItemRef {}
+pub type SecKeychainItemRef = *mut OpaqueSecKeychainItemRef;
+
+// OSType from MacTypes.h
+pub type SecKeychainAttrType = u32;
+
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct SecKeychainAttribute {
+ pub tag: SecKeychainAttrType,
+ pub length: u32,
+ pub data: *mut c_void,
+}
+
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct SecKeychainAttributeList {
+ pub count: u32,
+ pub attr: *mut SecKeychainAttribute,
+}
+
+pub enum OpaqueSecCertificateRef {}
+pub type SecCertificateRef = *mut OpaqueSecCertificateRef;
+
+pub enum OpaqueSecAccessRef {}
+pub type SecAccessRef = *mut OpaqueSecAccessRef;
+
+pub enum OpaqueSecAccessControlRef {}
+pub type SecAccessControlRef = *mut OpaqueSecAccessControlRef;
+
+pub enum OpaqueSecKeyRef {}
+pub type SecKeyRef = *mut OpaqueSecKeyRef;
+
+pub enum OpaqueSecIdentityRef {}
+pub type SecIdentityRef = *mut OpaqueSecIdentityRef;
+
+pub enum OpaqueSecPolicyRef {}
+pub type SecPolicyRef = *mut OpaqueSecPolicyRef;
+
+pub const errSecSuccess: OSStatus = 0;
+pub const errSecUnimplemented: OSStatus = -4;
+pub const errSecIO: OSStatus = -36;
+pub const errSecParam: OSStatus = -50;
+pub const errSecBadReq: OSStatus = -909;
+pub const errSecNoTrustSettings: OSStatus = -25263;
+pub const errSecAuthFailed: OSStatus = -25293;
+pub const errSecDuplicateItem: OSStatus = -25299;
+pub const errSecItemNotFound: OSStatus = -25300;
+pub const errSecCreateChainFailed: OSStatus = -25318;
+pub const errSecConversionError: OSStatus = -67594;
+pub const errSecHostNameMismatch: OSStatus = -67602;
+pub const errSecInvalidExtendedKeyUsage: OSStatus = -67609;
+pub const errSecTrustSettingDeny: OSStatus = -67654;
+pub const errSecCertificateRevoked: OSStatus = -67820;
+pub const errSecNotTrusted: OSStatus = -67843;
+pub const errSecInternalComponent: OSStatus = -2070;
+
+extern "C" {
+ // this is available on iOS 11.3+, MacOS 10.3+
+ pub fn SecCopyErrorMessageString(status: OSStatus, reserved: *mut c_void) -> CFStringRef;
+}