SCPreferencesKeychainPrivate.h [plain text]
#ifndef _SCPREFERENCESKEYCHAINPRIVATE_H
#define _SCPREFERENCESKEYCHAINPRIVATE_H
#include <CoreFoundation/CoreFoundation.h>
#include <SystemConfiguration/SCPreferences.h>
#include <Security/Security.h>
#include <AvailabilityMacros.h>
#include <sys/cdefs.h>
#pragma mark -
#pragma mark Keychain helper APIs
#define kSCKeychainOptionsAllowRoot CFSTR("AllowRoot") // CFBoolean, allow uid==0 applications
#define kSCKeychainOptionsAllowedExecutables CFSTR("AllowedExecutables") // CFArray[CFURL]
__BEGIN_DECLS
SecKeychainRef
_SCSecKeychainCopySystemKeychain (void);
CFDataRef
_SCSecKeychainPasswordItemCopy (SecKeychainRef keychain,
CFStringRef unique_id);
Boolean
_SCSecKeychainPasswordItemExists (SecKeychainRef keychain,
CFStringRef unique_id);
Boolean
_SCSecKeychainPasswordItemRemove (SecKeychainRef keychain,
CFStringRef unique_id);
Boolean
_SCSecKeychainPasswordItemSet (SecKeychainRef keychain,
CFStringRef unique_id,
CFStringRef label,
CFStringRef description,
CFStringRef account,
CFDataRef password,
CFDictionaryRef options);
#pragma mark -
#pragma mark "System" Keychain APIs (w/SCPreferences)
CFDataRef
_SCPreferencesSystemKeychainPasswordItemCopy (SCPreferencesRef prefs,
CFStringRef unique_id);
Boolean
_SCPreferencesSystemKeychainPasswordItemExists (SCPreferencesRef prefs,
CFStringRef unique_id);
Boolean
_SCPreferencesSystemKeychainPasswordItemRemove (SCPreferencesRef prefs,
CFStringRef unique_id);
Boolean
_SCPreferencesSystemKeychainPasswordItemSet (SCPreferencesRef prefs,
CFStringRef unique_id,
CFStringRef label,
CFStringRef description,
CFStringRef account,
CFDataRef password,
CFDictionaryRef options);
__END_DECLS
#endif // _SCPREFERENCESKEYCHAINPRIVATE_H