1 use crate::base::{SecKeychainAttributeList, SecKeychainItemRef}; 2 use core_foundation_sys::base::{CFTypeID, CFTypeRef, OSStatus}; 3 use core_foundation_sys::dictionary::CFDictionaryRef; 4 use std::os::raw::c_void; 5 6 extern "C" { 7 8 /// Returns the unique identifier of the opaque type to which a keychain item object belongs. SecKeychainItemGetTypeID() -> CFTypeID9 pub fn SecKeychainItemGetTypeID() -> CFTypeID; 10 11 /// Adds one or more items to a keychain. SecItemAdd(attributes: CFDictionaryRef, result: *mut CFTypeRef) -> OSStatus12 pub fn SecItemAdd(attributes: CFDictionaryRef, result: *mut CFTypeRef) -> OSStatus; 13 14 /// Returns one or more keychain items that match a search query, or copies attributes of specific keychain items. SecItemCopyMatching(query: CFDictionaryRef, result: *mut CFTypeRef) -> OSStatus15 pub fn SecItemCopyMatching(query: CFDictionaryRef, result: *mut CFTypeRef) -> OSStatus; 16 17 /// Modifies items that match a search query. SecItemUpdate(query: CFDictionaryRef, attributesToUpdate: CFDictionaryRef) -> OSStatus18 pub fn SecItemUpdate(query: CFDictionaryRef, attributesToUpdate: CFDictionaryRef) -> OSStatus; 19 20 /// Deletes items that match a search query. SecItemDelete(query: CFDictionaryRef) -> OSStatus21 pub fn SecItemDelete(query: CFDictionaryRef) -> OSStatus; 22 23 /// # Legacy API SecKeychainItemModifyAttributesAndData( itemRef: SecKeychainItemRef, attrList: *const SecKeychainAttributeList, length: u32, data: *const c_void, ) -> OSStatus24 pub fn SecKeychainItemModifyAttributesAndData( 25 itemRef: SecKeychainItemRef, 26 attrList: *const SecKeychainAttributeList, 27 length: u32, 28 data: *const c_void, 29 ) -> OSStatus; 30 SecKeychainItemFreeContent( attrList: *mut SecKeychainAttributeList, data: *mut c_void, ) -> OSStatus31 pub fn SecKeychainItemFreeContent( 32 attrList: *mut SecKeychainAttributeList, 33 data: *mut c_void, 34 ) -> OSStatus; 35 SecKeychainItemDelete(itemRef: SecKeychainItemRef) -> OSStatus36 pub fn SecKeychainItemDelete(itemRef: SecKeychainItemRef) -> OSStatus; 37 } 38