use core::cell::UnsafeCell;
use core::ffi::*;
use core::marker::{PhantomData, PhantomPinned};
use core::ptr::NonNull;
#[cfg(feature = "objc2")]
use objc2::__framework_prelude::*;
use objc2_core_foundation::*;
use crate::*;
#[doc(alias = "SSLContextRef")]
#[repr(C)]
pub struct SSLContext {
inner: [u8; 0],
_p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
}
cf_type!(
unsafe impl SSLContext {}
);
#[cfg(feature = "objc2")]
cf_objc2_type!(
unsafe impl RefEncode<"SSLContext"> for SSLContext {}
);
pub type SSLConnectionRef = *const c_void;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct SSLSessionOption(pub c_int);
impl SSLSessionOption {
#[doc(alias = "kSSLSessionOptionBreakOnServerAuth")]
#[deprecated]
pub const BreakOnServerAuth: Self = Self(0);
#[doc(alias = "kSSLSessionOptionBreakOnCertRequested")]
#[deprecated]
pub const BreakOnCertRequested: Self = Self(1);
#[doc(alias = "kSSLSessionOptionBreakOnClientAuth")]
#[deprecated]
pub const BreakOnClientAuth: Self = Self(2);
#[doc(alias = "kSSLSessionOptionFalseStart")]
#[deprecated]
pub const FalseStart: Self = Self(3);
#[doc(alias = "kSSLSessionOptionSendOneByteRecord")]
#[deprecated]
pub const SendOneByteRecord: Self = Self(4);
#[doc(alias = "kSSLSessionOptionAllowServerIdentityChange")]
#[deprecated]
pub const AllowServerIdentityChange: Self = Self(5);
#[doc(alias = "kSSLSessionOptionFallback")]
#[deprecated]
pub const Fallback: Self = Self(6);
#[doc(alias = "kSSLSessionOptionBreakOnClientHello")]
#[deprecated]
pub const BreakOnClientHello: Self = Self(7);
#[doc(alias = "kSSLSessionOptionAllowRenegotiation")]
#[deprecated]
pub const AllowRenegotiation: Self = Self(8);
#[doc(alias = "kSSLSessionOptionEnableSessionTickets")]
#[deprecated]
pub const EnableSessionTickets: Self = Self(9);
}
#[cfg(feature = "objc2")]
unsafe impl Encode for SSLSessionOption {
const ENCODING: Encoding = c_int::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for SSLSessionOption {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(i32)] #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub enum SSLSessionState {
#[doc(alias = "kSSLIdle")]
#[deprecated]
Idle = 0,
#[doc(alias = "kSSLHandshake")]
#[deprecated]
Handshake = 1,
#[doc(alias = "kSSLConnected")]
#[deprecated]
Connected = 2,
#[doc(alias = "kSSLClosed")]
#[deprecated]
Closed = 3,
#[doc(alias = "kSSLAborted")]
#[deprecated]
Aborted = 4,
}
#[cfg(feature = "objc2")]
unsafe impl Encode for SSLSessionState {
const ENCODING: Encoding = c_int::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for SSLSessionState {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct SSLClientCertificateState(pub c_int);
impl SSLClientCertificateState {
#[doc(alias = "kSSLClientCertNone")]
#[deprecated]
pub const CertNone: Self = Self(0);
#[doc(alias = "kSSLClientCertRequested")]
#[deprecated]
pub const CertRequested: Self = Self(1);
#[doc(alias = "kSSLClientCertSent")]
#[deprecated]
pub const CertSent: Self = Self(2);
#[doc(alias = "kSSLClientCertRejected")]
#[deprecated]
pub const CertRejected: Self = Self(3);
}
#[cfg(feature = "objc2")]
unsafe impl Encode for SSLClientCertificateState {
const ENCODING: Encoding = c_int::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for SSLClientCertificateState {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
pub type SSLReadFunc = Option<
unsafe extern "C-unwind" fn(SSLConnectionRef, NonNull<c_void>, NonNull<usize>) -> OSStatus,
>;
pub type SSLWriteFunc = Option<
unsafe extern "C-unwind" fn(SSLConnectionRef, NonNull<c_void>, NonNull<usize>) -> OSStatus,
>;
#[repr(i32)] #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub enum SSLProtocolSide {
#[doc(alias = "kSSLServerSide")]
#[deprecated]
ServerSide = 0,
#[doc(alias = "kSSLClientSide")]
#[deprecated]
ClientSide = 1,
}
#[cfg(feature = "objc2")]
unsafe impl Encode for SSLProtocolSide {
const ENCODING: Encoding = c_int::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for SSLProtocolSide {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct SSLConnectionType(pub c_int);
impl SSLConnectionType {
#[doc(alias = "kSSLStreamType")]
#[deprecated]
pub const StreamType: Self = Self(0);
#[doc(alias = "kSSLDatagramType")]
#[deprecated]
pub const DatagramType: Self = Self(1);
}
#[cfg(feature = "objc2")]
unsafe impl Encode for SSLConnectionType {
const ENCODING: Encoding = c_int::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for SSLConnectionType {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern "C" {
#[deprecated = "No longer supported. Use Network.framework."]
pub static kSSLSessionConfig_default: &'static CFString;
}
extern "C" {
#[deprecated = "No longer supported. Use Network.framework."]
pub static kSSLSessionConfig_ATSv1: &'static CFString;
}
extern "C" {
#[deprecated = "No longer supported. Use Network.framework."]
pub static kSSLSessionConfig_ATSv1_noPFS: &'static CFString;
}
extern "C" {
#[deprecated = "No longer supported. Use Network.framework."]
pub static kSSLSessionConfig_standard: &'static CFString;
}
extern "C" {
#[deprecated = "No longer supported. Use Network.framework."]
pub static kSSLSessionConfig_RC4_fallback: &'static CFString;
}
extern "C" {
#[deprecated = "No longer supported. Use Network.framework."]
pub static kSSLSessionConfig_TLSv1_fallback: &'static CFString;
}
extern "C" {
#[deprecated = "No longer supported. Use Network.framework."]
pub static kSSLSessionConfig_TLSv1_RC4_fallback: &'static CFString;
}
extern "C" {
#[deprecated = "No longer supported. Use Network.framework."]
pub static kSSLSessionConfig_legacy: &'static CFString;
}
extern "C" {
#[deprecated = "No longer supported. Use Network.framework."]
pub static kSSLSessionConfig_legacy_DHE: &'static CFString;
}
extern "C" {
#[deprecated = "No longer supported. Use Network.framework."]
pub static kSSLSessionConfig_anonymous: &'static CFString;
}
extern "C" {
#[deprecated = "No longer supported. Use Network.framework."]
pub static kSSLSessionConfig_3DES_fallback: &'static CFString;
}
extern "C" {
#[deprecated = "No longer supported. Use Network.framework."]
pub static kSSLSessionConfig_TLSv1_3DES_fallback: &'static CFString;
}
unsafe impl ConcreteType for SSLContext {
#[doc(alias = "SSLContextGetTypeID")]
#[inline]
fn type_id() -> CFTypeID {
extern "C-unwind" {
fn SSLContextGetTypeID() -> CFTypeID;
}
unsafe { SSLContextGetTypeID() }
}
}
#[deprecated = "No longer supported. Use Network.framework."]
#[inline]
pub unsafe extern "C-unwind" fn SSLCreateContext(
alloc: Option<&CFAllocator>,
protocol_side: SSLProtocolSide,
connection_type: SSLConnectionType,
) -> Option<CFRetained<SSLContext>> {
extern "C-unwind" {
fn SSLCreateContext(
alloc: Option<&CFAllocator>,
protocol_side: SSLProtocolSide,
connection_type: SSLConnectionType,
) -> Option<NonNull<SSLContext>>;
}
let ret = unsafe { SSLCreateContext(alloc, protocol_side, connection_type) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
#[deprecated = "No longer supported. Use Network.framework."]
#[inline]
pub unsafe extern "C-unwind" fn SSLNewContext(
is_server: bool,
context_ptr: NonNull<*mut SSLContext>,
) -> OSStatus {
extern "C-unwind" {
fn SSLNewContext(is_server: Boolean, context_ptr: NonNull<*mut SSLContext>) -> OSStatus;
}
unsafe { SSLNewContext(is_server as _, context_ptr) }
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLDisposeContext(context: &SSLContext) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetSessionState(context: &SSLContext, state: NonNull<SSLSessionState>) -> OSStatus;
}
#[deprecated = "No longer supported. Use Network.framework."]
#[inline]
pub unsafe extern "C-unwind" fn SSLSetSessionOption(
context: &SSLContext,
option: SSLSessionOption,
value: bool,
) -> OSStatus {
extern "C-unwind" {
fn SSLSetSessionOption(
context: &SSLContext,
option: SSLSessionOption,
value: Boolean,
) -> OSStatus;
}
unsafe { SSLSetSessionOption(context, option, value as _) }
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetSessionOption(
context: &SSLContext,
option: SSLSessionOption,
value: NonNull<Boolean>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetIOFuncs(
context: &SSLContext,
read_func: SSLReadFunc,
write_func: SSLWriteFunc,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetSessionConfig(context: &SSLContext, config: &CFString) -> OSStatus;
}
extern "C-unwind" {
#[cfg(feature = "SecProtocolTypes")]
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetProtocolVersionMin(context: &SSLContext, min_version: SSLProtocol) -> OSStatus;
}
extern "C-unwind" {
#[cfg(feature = "SecProtocolTypes")]
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetProtocolVersionMin(
context: &SSLContext,
min_version: NonNull<SSLProtocol>,
) -> OSStatus;
}
extern "C-unwind" {
#[cfg(feature = "SecProtocolTypes")]
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetProtocolVersionMax(context: &SSLContext, max_version: SSLProtocol) -> OSStatus;
}
extern "C-unwind" {
#[cfg(feature = "SecProtocolTypes")]
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetProtocolVersionMax(
context: &SSLContext,
max_version: NonNull<SSLProtocol>,
) -> OSStatus;
}
#[cfg(feature = "SecProtocolTypes")]
#[deprecated = "No longer supported. Use Network.framework."]
#[inline]
pub unsafe extern "C-unwind" fn SSLSetProtocolVersionEnabled(
context: &SSLContext,
protocol: SSLProtocol,
enable: bool,
) -> OSStatus {
extern "C-unwind" {
fn SSLSetProtocolVersionEnabled(
context: &SSLContext,
protocol: SSLProtocol,
enable: Boolean,
) -> OSStatus;
}
unsafe { SSLSetProtocolVersionEnabled(context, protocol, enable as _) }
}
extern "C-unwind" {
#[cfg(feature = "SecProtocolTypes")]
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetProtocolVersionEnabled(
context: &SSLContext,
protocol: SSLProtocol,
enable: NonNull<Boolean>,
) -> OSStatus;
}
extern "C-unwind" {
#[cfg(feature = "SecProtocolTypes")]
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetProtocolVersion(context: &SSLContext, version: SSLProtocol) -> OSStatus;
}
extern "C-unwind" {
#[cfg(feature = "SecProtocolTypes")]
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetProtocolVersion(context: &SSLContext, protocol: NonNull<SSLProtocol>) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetCertificate(context: &SSLContext, cert_refs: Option<&CFArray>) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetConnection(context: &SSLContext, connection: SSLConnectionRef) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetConnection(
context: &SSLContext,
connection: NonNull<SSLConnectionRef>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetPeerDomainName(
context: &SSLContext,
peer_name: *const c_char,
peer_name_len: usize,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetPeerDomainNameLength(
context: &SSLContext,
peer_name_len: NonNull<usize>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetPeerDomainName(
context: &SSLContext,
peer_name: NonNull<c_char>,
peer_name_len: NonNull<usize>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLCopyRequestedPeerNameLength(
ctx: &SSLContext,
peer_name_len: NonNull<usize>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLCopyRequestedPeerName(
context: &SSLContext,
peer_name: NonNull<c_char>,
peer_name_len: NonNull<usize>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetDatagramHelloCookie(
dtls_context: &SSLContext,
cookie: *const c_void,
cookie_len: usize,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetMaxDatagramRecordSize(dtls_context: &SSLContext, max_size: usize) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetMaxDatagramRecordSize(
dtls_context: &SSLContext,
max_size: NonNull<usize>,
) -> OSStatus;
}
extern "C-unwind" {
#[cfg(feature = "SecProtocolTypes")]
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetNegotiatedProtocolVersion(
context: &SSLContext,
protocol: NonNull<SSLProtocol>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetNumberSupportedCiphers(
context: &SSLContext,
num_ciphers: NonNull<usize>,
) -> OSStatus;
}
extern "C-unwind" {
#[cfg(feature = "CipherSuite")]
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetSupportedCiphers(
context: &SSLContext,
ciphers: NonNull<SSLCipherSuite>,
num_ciphers: NonNull<usize>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetNumberEnabledCiphers(
context: &SSLContext,
num_ciphers: NonNull<usize>,
) -> OSStatus;
}
extern "C-unwind" {
#[cfg(feature = "CipherSuite")]
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetEnabledCiphers(
context: &SSLContext,
ciphers: NonNull<SSLCipherSuite>,
num_ciphers: usize,
) -> OSStatus;
}
extern "C-unwind" {
#[cfg(feature = "CipherSuite")]
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetEnabledCiphers(
context: &SSLContext,
ciphers: NonNull<SSLCipherSuite>,
num_ciphers: NonNull<usize>,
) -> OSStatus;
}
#[deprecated = "No longer supported. Use Network.framework."]
#[inline]
pub unsafe extern "C-unwind" fn SSLSetSessionTicketsEnabled(
context: &SSLContext,
enabled: bool,
) -> OSStatus {
extern "C-unwind" {
fn SSLSetSessionTicketsEnabled(context: &SSLContext, enabled: Boolean) -> OSStatus;
}
unsafe { SSLSetSessionTicketsEnabled(context, enabled as _) }
}
#[deprecated = "No longer supported. Use Network.framework."]
#[inline]
pub unsafe extern "C-unwind" fn SSLSetEnableCertVerify(
context: &SSLContext,
enable_verify: bool,
) -> OSStatus {
extern "C-unwind" {
fn SSLSetEnableCertVerify(context: &SSLContext, enable_verify: Boolean) -> OSStatus;
}
unsafe { SSLSetEnableCertVerify(context, enable_verify as _) }
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetEnableCertVerify(
context: &SSLContext,
enable_verify: NonNull<Boolean>,
) -> OSStatus;
}
#[deprecated = "No longer supported. Use Network.framework."]
#[inline]
pub unsafe extern "C-unwind" fn SSLSetAllowsExpiredCerts(
context: &SSLContext,
allows_expired: bool,
) -> OSStatus {
extern "C-unwind" {
fn SSLSetAllowsExpiredCerts(context: &SSLContext, allows_expired: Boolean) -> OSStatus;
}
unsafe { SSLSetAllowsExpiredCerts(context, allows_expired as _) }
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetAllowsExpiredCerts(
context: &SSLContext,
allows_expired: NonNull<Boolean>,
) -> OSStatus;
}
#[deprecated = "No longer supported. Use Network.framework."]
#[inline]
pub unsafe extern "C-unwind" fn SSLSetAllowsExpiredRoots(
context: &SSLContext,
allows_expired: bool,
) -> OSStatus {
extern "C-unwind" {
fn SSLSetAllowsExpiredRoots(context: &SSLContext, allows_expired: Boolean) -> OSStatus;
}
unsafe { SSLSetAllowsExpiredRoots(context, allows_expired as _) }
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetAllowsExpiredRoots(
context: &SSLContext,
allows_expired: NonNull<Boolean>,
) -> OSStatus;
}
#[deprecated = "No longer supported. Use Network.framework."]
#[inline]
pub unsafe extern "C-unwind" fn SSLSetAllowsAnyRoot(
context: &SSLContext,
any_root: bool,
) -> OSStatus {
extern "C-unwind" {
fn SSLSetAllowsAnyRoot(context: &SSLContext, any_root: Boolean) -> OSStatus;
}
unsafe { SSLSetAllowsAnyRoot(context, any_root as _) }
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetAllowsAnyRoot(context: &SSLContext, any_root: NonNull<Boolean>) -> OSStatus;
}
#[deprecated = "No longer supported. Use Network.framework."]
#[inline]
pub unsafe extern "C-unwind" fn SSLSetTrustedRoots(
context: &SSLContext,
trusted_roots: &CFArray,
replace_existing: bool,
) -> OSStatus {
extern "C-unwind" {
fn SSLSetTrustedRoots(
context: &SSLContext,
trusted_roots: &CFArray,
replace_existing: Boolean,
) -> OSStatus;
}
unsafe { SSLSetTrustedRoots(context, trusted_roots, replace_existing as _) }
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLCopyTrustedRoots(
context: &SSLContext,
trusted_roots: NonNull<*const CFArray>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLCopyPeerCertificates(
context: &SSLContext,
certs: NonNull<*const CFArray>,
) -> OSStatus;
}
extern "C-unwind" {
#[cfg(feature = "SecTrust")]
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLCopyPeerTrust(context: &SSLContext, trust: NonNull<*mut SecTrust>) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetPeerID(
context: &SSLContext,
peer_id: *const c_void,
peer_id_len: usize,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetPeerID(
context: &SSLContext,
peer_id: NonNull<*const c_void>,
peer_id_len: NonNull<usize>,
) -> OSStatus;
}
extern "C-unwind" {
#[cfg(feature = "CipherSuite")]
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetNegotiatedCipher(
context: &SSLContext,
cipher_suite: NonNull<SSLCipherSuite>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetALPNProtocols(context: &SSLContext, protocols: &CFArray) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLCopyALPNProtocols(
context: &SSLContext,
protocols: NonNull<*const CFArray>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetOCSPResponse(context: &SSLContext, response: &CFData) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetEncryptionCertificate(context: &SSLContext, cert_refs: &CFArray) -> OSStatus;
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct SSLAuthenticate(pub c_int);
impl SSLAuthenticate {
#[doc(alias = "kNeverAuthenticate")]
pub const NeverAuthenticate: Self = Self(0);
#[doc(alias = "kAlwaysAuthenticate")]
pub const AlwaysAuthenticate: Self = Self(1);
#[doc(alias = "kTryAuthenticate")]
pub const TryAuthenticate: Self = Self(2);
}
#[cfg(feature = "objc2")]
unsafe impl Encode for SSLAuthenticate {
const ENCODING: Encoding = c_int::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for SSLAuthenticate {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetClientSideAuthenticate(context: &SSLContext, auth: SSLAuthenticate) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLAddDistinguishedName(
context: &SSLContext,
der_dn: *const c_void,
der_dn_len: usize,
) -> OSStatus;
}
#[deprecated = "No longer supported. Use Network.framework."]
#[inline]
pub unsafe extern "C-unwind" fn SSLSetCertificateAuthorities(
context: &SSLContext,
certificate_or_array: &CFType,
replace_existing: bool,
) -> OSStatus {
extern "C-unwind" {
fn SSLSetCertificateAuthorities(
context: &SSLContext,
certificate_or_array: &CFType,
replace_existing: Boolean,
) -> OSStatus;
}
unsafe { SSLSetCertificateAuthorities(context, certificate_or_array, replace_existing as _) }
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLCopyCertificateAuthorities(
context: &SSLContext,
certificates: NonNull<*const CFArray>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLCopyDistinguishedNames(
context: &SSLContext,
names: NonNull<*const CFArray>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetClientCertificateState(
context: &SSLContext,
client_state: NonNull<SSLClientCertificateState>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetDiffieHellmanParams(
context: &SSLContext,
dh_params: *const c_void,
dh_params_len: usize,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetDiffieHellmanParams(
context: &SSLContext,
dh_params: NonNull<*const c_void>,
dh_params_len: NonNull<usize>,
) -> OSStatus;
}
#[deprecated = "No longer supported. Use Network.framework."]
#[inline]
pub unsafe extern "C-unwind" fn SSLSetRsaBlinding(
context: &SSLContext,
blinding: bool,
) -> OSStatus {
extern "C-unwind" {
fn SSLSetRsaBlinding(context: &SSLContext, blinding: Boolean) -> OSStatus;
}
unsafe { SSLSetRsaBlinding(context, blinding as _) }
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetRsaBlinding(context: &SSLContext, blinding: NonNull<Boolean>) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLHandshake(context: &SSLContext) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLReHandshake(context: &SSLContext) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLWrite(
context: &SSLContext,
data: *const c_void,
data_length: usize,
processed: NonNull<usize>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLRead(
context: &SSLContext,
data: NonNull<c_void>,
data_length: usize,
processed: NonNull<usize>,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetBufferedReadSize(context: &SSLContext, buffer_size: NonNull<usize>) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLGetDatagramWriteSize(dtls_context: &SSLContext, buf_size: NonNull<usize>)
-> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLClose(context: &SSLContext) -> OSStatus;
}
extern "C-unwind" {
#[deprecated = "No longer supported. Use Network.framework."]
pub fn SSLSetError(context: &SSLContext, status: OSStatus) -> OSStatus;
}