#ifndef _EAP8021X_EAPKEYCHAINUTIL_H
#define _EAP8021X_EAPKEYCHAINUTIL_H
#include <TargetConditionals.h>
#include <os/availability.h>
#include <CoreFoundation/CoreFoundation.h>
#if ! TARGET_OS_IPHONE
#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>
#endif
typedef CFTypeRef EAPSecAccessRef;
#if ! TARGET_OS_IPHONE
const CFStringRef kEAPSecKeychainPropTrustedApplications;
const CFStringRef kEAPSecKeychainPropAllowRootAccess;
const CFStringRef kEAPSecKeychainPropLabel;
const CFStringRef kEAPSecKeychainPropDescription;
const CFStringRef kEAPSecKeychainPropAccount;
const CFStringRef kEAPSecKeychainPropPassword;
#endif
OSStatus
EAPSecKeychainPasswordItemCreateWithAccess(SecKeychainRef keychain,
EAPSecAccessRef access,
CFStringRef unique_id_str,
CFDataRef label,
CFDataRef description,
CFDataRef user,
CFDataRef password);
OSStatus
EAPSecKeychainPasswordItemCreateUniqueWithAccess(SecKeychainRef keychain,
EAPSecAccessRef access,
CFDataRef label,
CFDataRef description,
CFDataRef user,
CFDataRef password,
CFStringRef * unique_id_str);
OSStatus
EAPSecKeychainPasswordItemCreate(SecKeychainRef keychain,
CFStringRef unique_id_str,
CFDictionaryRef values) API_AVAILABLE(macos(10.10)) API_UNAVAILABLE(ios, watchos, tvos);
OSStatus
EAPSecKeychainPasswordItemCreateUnique(SecKeychainRef keychain,
CFDictionaryRef values,
CFStringRef * req_unique_id) API_AVAILABLE(macos(10.10)) API_UNAVAILABLE(ios, watchos, tvos);
OSStatus
EAPSecKeychainPasswordItemSet(SecKeychainRef keychain,
CFStringRef unique_id_str,
CFDataRef password);
OSStatus
EAPSecKeychainPasswordItemSet2(SecKeychainRef keychain,
CFStringRef unique_id_str,
CFDictionaryRef values) API_AVAILABLE(macos(10.10)) API_UNAVAILABLE(ios, watchos, tvos);
OSStatus
EAPSecKeychainPasswordItemCopy(SecKeychainRef keychain,
CFStringRef unique_id_str,
CFDataRef * ret_password);
OSStatus
EAPSecKeychainPasswordItemCopy2(SecKeychainRef keychain,
CFStringRef unique_id_str,
CFArrayRef keys,
CFDictionaryRef * ret_values) API_AVAILABLE(macos(10.10)) API_UNAVAILABLE(ios, watchos, tvos);
OSStatus
EAPSecKeychainPasswordItemRemove(SecKeychainRef keychain,
CFStringRef unique_id_str);
#endif