objc2-security 0.3.2

Bindings to the Security framework
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ffi::*;
#[cfg(feature = "objc2")]
use objc2::__framework_prelude::*;

use crate::*;

/// [Apple's documentation](https://developer.apple.com/documentation/security/mds_handle?language=objc)
#[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
pub type MDS_HANDLE = CSSM_DL_HANDLE;

/// [Apple's documentation](https://developer.apple.com/documentation/security/mds_db_handle?language=objc)
#[deprecated]
#[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
pub type MDS_DB_HANDLE = CSSM_DL_DB_HANDLE;

/// [Apple's documentation](https://developer.apple.com/documentation/security/mds_funcs?language=objc)
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
#[deprecated]
#[repr(C)]
#[allow(unpredictable_function_pointer_comparisons)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct mds_funcs {
    pub DbOpen: Option<
        unsafe extern "C-unwind" fn(
            MDS_HANDLE,
            *const c_char,
            *const CSSM_NET_ADDRESS,
            CSSM_DB_ACCESS_TYPE,
            *const CSSM_ACCESS_CREDENTIALS,
            *const c_void,
            *mut CSSM_DB_HANDLE,
        ) -> CSSM_RETURN,
    >,
    pub DbClose: Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE) -> CSSM_RETURN>,
    pub GetDbNames:
        Option<unsafe extern "C-unwind" fn(MDS_HANDLE, *mut CSSM_NAME_LIST_PTR) -> CSSM_RETURN>,
    pub GetDbNameFromHandle:
        Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE, *mut *mut c_char) -> CSSM_RETURN>,
    pub FreeNameList:
        Option<unsafe extern "C-unwind" fn(MDS_HANDLE, CSSM_NAME_LIST_PTR) -> CSSM_RETURN>,
    pub DataInsert: Option<
        unsafe extern "C-unwind" fn(
            MDS_DB_HANDLE,
            CSSM_DB_RECORDTYPE,
            *const CSSM_DB_RECORD_ATTRIBUTE_DATA,
            *const SecAsn1Item,
            *mut CSSM_DB_UNIQUE_RECORD_PTR,
        ) -> CSSM_RETURN,
    >,
    pub DataDelete: Option<
        unsafe extern "C-unwind" fn(MDS_DB_HANDLE, *const CSSM_DB_UNIQUE_RECORD) -> CSSM_RETURN,
    >,
    pub DataModify: Option<
        unsafe extern "C-unwind" fn(
            MDS_DB_HANDLE,
            CSSM_DB_RECORDTYPE,
            CSSM_DB_UNIQUE_RECORD_PTR,
            *const CSSM_DB_RECORD_ATTRIBUTE_DATA,
            *const SecAsn1Item,
            CSSM_DB_MODIFY_MODE,
        ) -> CSSM_RETURN,
    >,
    pub DataGetFirst: Option<
        unsafe extern "C-unwind" fn(
            MDS_DB_HANDLE,
            *const CSSM_QUERY,
            CSSM_HANDLE_PTR,
            CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR,
            CSSM_DATA_PTR,
            *mut CSSM_DB_UNIQUE_RECORD_PTR,
        ) -> CSSM_RETURN,
    >,
    pub DataGetNext: Option<
        unsafe extern "C-unwind" fn(
            MDS_DB_HANDLE,
            CSSM_HANDLE,
            CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR,
            CSSM_DATA_PTR,
            *mut CSSM_DB_UNIQUE_RECORD_PTR,
        ) -> CSSM_RETURN,
    >,
    pub DataAbortQuery:
        Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE, CSSM_HANDLE) -> CSSM_RETURN>,
    pub DataGetFromUniqueRecordId: Option<
        unsafe extern "C-unwind" fn(
            MDS_DB_HANDLE,
            *const CSSM_DB_UNIQUE_RECORD,
            CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR,
            CSSM_DATA_PTR,
        ) -> CSSM_RETURN,
    >,
    pub FreeUniqueRecord: Option<
        unsafe extern "C-unwind" fn(MDS_DB_HANDLE, CSSM_DB_UNIQUE_RECORD_PTR) -> CSSM_RETURN,
    >,
    pub CreateRelation: Option<
        unsafe extern "C-unwind" fn(
            MDS_DB_HANDLE,
            CSSM_DB_RECORDTYPE,
            *const c_char,
            uint32,
            *const CSSM_DB_SCHEMA_ATTRIBUTE_INFO,
            uint32,
            *const CSSM_DB_SCHEMA_INDEX_INFO,
        ) -> CSSM_RETURN,
    >,
    pub DestroyRelation:
        Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE, CSSM_DB_RECORDTYPE) -> CSSM_RETURN>,
}

#[cfg(all(
    feature = "SecAsn1Types",
    feature = "cssmconfig",
    feature = "cssmtype",
    feature = "objc2"
))]
unsafe impl Encode for mds_funcs {
    const ENCODING: Encoding = Encoding::Struct("mds_funcs", &[
        <Option<unsafe extern "C-unwind" fn(MDS_HANDLE,*const c_char,*const CSSM_NET_ADDRESS,CSSM_DB_ACCESS_TYPE,*const CSSM_ACCESS_CREDENTIALS,*const c_void,*mut CSSM_DB_HANDLE,) -> CSSM_RETURN>>::ENCODING,
        <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,) -> CSSM_RETURN>>::ENCODING,
        <Option<unsafe extern "C-unwind" fn(MDS_HANDLE,*mut CSSM_NAME_LIST_PTR,) -> CSSM_RETURN>>::ENCODING,
        <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,*mut *mut c_char,) -> CSSM_RETURN>>::ENCODING,
        <Option<unsafe extern "C-unwind" fn(MDS_HANDLE,CSSM_NAME_LIST_PTR,) -> CSSM_RETURN>>::ENCODING,
        <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,CSSM_DB_RECORDTYPE,*const CSSM_DB_RECORD_ATTRIBUTE_DATA,*const SecAsn1Item,*mut CSSM_DB_UNIQUE_RECORD_PTR,) -> CSSM_RETURN>>::ENCODING,
        <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,*const CSSM_DB_UNIQUE_RECORD,) -> CSSM_RETURN>>::ENCODING,
        <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,CSSM_DB_RECORDTYPE,CSSM_DB_UNIQUE_RECORD_PTR,*const CSSM_DB_RECORD_ATTRIBUTE_DATA,*const SecAsn1Item,CSSM_DB_MODIFY_MODE,) -> CSSM_RETURN>>::ENCODING,
        <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,*const CSSM_QUERY,CSSM_HANDLE_PTR,CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR,CSSM_DATA_PTR,*mut CSSM_DB_UNIQUE_RECORD_PTR,) -> CSSM_RETURN>>::ENCODING,
        <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,CSSM_HANDLE,CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR,CSSM_DATA_PTR,*mut CSSM_DB_UNIQUE_RECORD_PTR,) -> CSSM_RETURN>>::ENCODING,
        <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,CSSM_HANDLE,) -> CSSM_RETURN>>::ENCODING,
        <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,*const CSSM_DB_UNIQUE_RECORD,CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR,CSSM_DATA_PTR,) -> CSSM_RETURN>>::ENCODING,
        <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,CSSM_DB_UNIQUE_RECORD_PTR,) -> CSSM_RETURN>>::ENCODING,
        <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,CSSM_DB_RECORDTYPE,*const c_char,uint32,*const CSSM_DB_SCHEMA_ATTRIBUTE_INFO,uint32,*const CSSM_DB_SCHEMA_INDEX_INFO,) -> CSSM_RETURN>>::ENCODING,
        <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,CSSM_DB_RECORDTYPE,) -> CSSM_RETURN>>::ENCODING,
    ]);
}

#[cfg(all(
    feature = "SecAsn1Types",
    feature = "cssmconfig",
    feature = "cssmtype",
    feature = "objc2"
))]
unsafe impl RefEncode for mds_funcs {
    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}

/// [Apple's documentation](https://developer.apple.com/documentation/security/mds_funcs?language=objc)
#[deprecated]
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
pub type MDS_FUNCS = mds_funcs;

/// [Apple's documentation](https://developer.apple.com/documentation/security/mds_funcs_ptr?language=objc)
#[deprecated]
#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
pub type MDS_FUNCS_PTR = *mut mds_funcs;

extern "C-unwind" {
    /// # Safety
    ///
    /// - `p_caller_guid` must be a valid pointer.
    /// - `p_memory_functions` must be a valid pointer.
    /// - `p_dl_functions` must be a valid pointer.
    /// - `h_mds` must be a valid pointer.
    #[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
    #[deprecated]
    pub fn MDS_Initialize(
        p_caller_guid: *const CSSM_GUID,
        p_memory_functions: *const CSSM_MEMORY_FUNCS,
        p_dl_functions: MDS_FUNCS_PTR,
        h_mds: *mut MDS_HANDLE,
    ) -> CSSM_RETURN;
}

extern "C-unwind" {
    #[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
    #[deprecated]
    pub fn MDS_Terminate(mds_handle: MDS_HANDLE) -> CSSM_RETURN;
}

extern "C-unwind" {
    #[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
    #[deprecated]
    pub fn MDS_Install(mds_handle: MDS_HANDLE) -> CSSM_RETURN;
}

extern "C-unwind" {
    #[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
    #[deprecated]
    pub fn MDS_Uninstall(mds_handle: MDS_HANDLE) -> CSSM_RETURN;
}