use core_foundation_sys::base::{Boolean, OSStatus, CFTypeID};
use libc::{c_char, c_void};
use base::{SecAccessRef, SecKeychainRef};
extern "C" {
pub fn SecKeychainGetTypeID() -> CFTypeID;
#[cfg(target_os = "macos")]
pub fn SecKeychainCopyDefault(keychain: *mut SecKeychainRef) -> OSStatus;
#[cfg(target_os = "macos")]
pub fn SecKeychainCreate(pathName: *const c_char,
passwordLength: u32,
password: *const c_void,
promptUser: Boolean,
initialAccess: SecAccessRef,
keychain: *mut SecKeychainRef)
-> OSStatus;
#[cfg(target_os = "macos")]
pub fn SecKeychainOpen(pathName: *const c_char, keychain: *mut SecKeychainRef) -> OSStatus;
#[cfg(target_os = "macos")]
pub fn SecKeychainUnlock(keychain: SecKeychainRef,
passwordLength: u32,
password: *const c_void,
usePassword: Boolean)
-> OSStatus;
}