tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

bindings_macos.rs (3771B)


      1 /* -*- Mode: rust; rust-indent-offset: 4 -*- */
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this
      4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      5 
      6 // This was originally generated by rust-bindgen at build time. Later in
      7 // development it became clear that using bindgen for this library as part of
      8 // mozilla-central would be difficult (if not impossible). So, this was
      9 // converted to a static file and unused declarations were removed. Also,
     10 // intermediate types added by rust-bindgen were removed for clarity.
     11 
     12 pub type OSStatus = i32;
     13 pub const errSecSuccess: OSStatus = 0;
     14 pub const errSecItemNotFound: OSStatus = -25300;
     15 
     16 pub type SecKeyAlgorithm = CFStringRef;
     17 
     18 extern "C" {
     19    // Available starting macOS 10.3
     20    pub fn SecCertificateGetTypeID() -> CFTypeID;
     21    pub fn SecTrustCreateWithCertificates(
     22        certificates: SecCertificateRef,
     23        policies: SecPolicyRef,
     24        trust: *mut SecTrustRef,
     25    ) -> OSStatus;
     26    pub fn SecIdentityGetTypeID() -> CFTypeID;
     27    pub fn SecIdentityCopyCertificate(
     28        identityRef: SecIdentityRef,
     29        certificateRef: *mut SecCertificateRef,
     30    ) -> OSStatus;
     31    pub fn SecIdentityCopyPrivateKey(
     32        identityRef: SecIdentityRef,
     33        privateKeyRef: *mut SecKeyRef,
     34    ) -> OSStatus;
     35    pub fn SecKeyGetTypeID() -> CFTypeID;
     36    pub fn SecPolicyGetTypeID() -> CFTypeID;
     37    pub fn SecTrustGetTypeID() -> CFTypeID;
     38 
     39    // Available starting macOS 10.6
     40    pub fn SecCertificateCopyData(certificate: SecCertificateRef) -> CFDataRef;
     41    pub fn SecCertificateCopySubjectSummary(certificate: SecCertificateRef) -> CFStringRef;
     42    pub fn SecItemCopyMatching(query: CFDictionaryRef, result: *mut CFTypeRef) -> OSStatus;
     43    pub fn SecPolicyCreateSSL(server: bool, hostname: CFStringRef) -> SecPolicyRef;
     44    pub static kSecClass: CFStringRef;
     45    pub static kSecAttrKeyType: CFStringRef;
     46    pub static kSecAttrKeySizeInBits: CFStringRef;
     47    pub static kSecMatchLimit: CFStringRef;
     48    pub static kSecMatchLimitAll: CFStringRef;
     49    pub static kSecReturnRef: CFStringRef;
     50 
     51    // Available starting macOS 10.7
     52    pub fn SecTrustGetCertificateAtIndex(trust: SecTrustRef, ix: CFIndex) -> SecCertificateRef;
     53    pub fn SecTrustGetCertificateCount(trust: SecTrustRef) -> CFIndex;
     54    pub static kSecClassIdentity: CFStringRef;
     55    pub static kSecAttrKeyTypeRSA: CFStringRef;
     56 
     57    // Available starting macOS 10.9
     58    pub fn SecTrustSetNetworkFetchAllowed(trust: SecTrustRef, allowFetch: Boolean) -> OSStatus;
     59 
     60    // Available starting macOS 10.12
     61    pub fn SecKeyCreateSignature(
     62        key: SecKeyRef,
     63        algorithm: SecKeyAlgorithm,
     64        data: CFDataRef,
     65        err: *mut CFErrorRef,
     66    ) -> CFDataRef;
     67    pub fn SecKeyCopyAttributes(key: SecKeyRef) -> CFDictionaryRef;
     68    pub fn SecKeyCopyExternalRepresentation(key: SecKeyRef, err: *mut CFErrorRef) -> CFDataRef;
     69    pub static kSecAttrKeyTypeECSECPrimeRandom: CFStringRef;
     70    pub static kSecKeyAlgorithmECDSASignatureDigestX962SHA1: CFStringRef;
     71    pub static kSecKeyAlgorithmECDSASignatureDigestX962SHA256: CFStringRef;
     72    pub static kSecKeyAlgorithmECDSASignatureDigestX962SHA384: CFStringRef;
     73    pub static kSecKeyAlgorithmECDSASignatureDigestX962SHA512: CFStringRef;
     74    pub static kSecKeyAlgorithmRSASignatureDigestPKCS1v15Raw: CFStringRef;
     75    pub static kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA1: CFStringRef;
     76    pub static kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256: CFStringRef;
     77    pub static kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA384: CFStringRef;
     78    pub static kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA512: CFStringRef;
     79    pub static kSecKeyAlgorithmRSASignatureRaw: CFStringRef;
     80 }