#ifndef _SCHELPER_CLIENT_H
#define _SCHELPER_CLIENT_H
#include <sys/cdefs.h>
#include <Availability.h>
#include <TargetConditionals.h>
#include <CoreFoundation/CoreFoundation.h>
#define kSCKeychainOptionsAccount CFSTR("Account") // CFString
#define kSCKeychainOptionsDescription CFSTR("Description") // CFString
#define kSCKeychainOptionsLabel CFSTR("Label") // CFString
#define kSCKeychainOptionsPassword CFSTR("Password") // CFData
#define kSCKeychainOptionsUniqueID CFSTR("UniqueID") // CFString
enum {
SCHELPER_MSG_AUTH = 1,
SCHELPER_MSG_PREFS_OPEN = 100,
SCHELPER_MSG_PREFS_ACCESS,
SCHELPER_MSG_PREFS_LOCK,
SCHELPER_MSG_PREFS_LOCKWAIT,
SCHELPER_MSG_PREFS_COMMIT,
SCHELPER_MSG_PREFS_APPLY,
SCHELPER_MSG_PREFS_UNLOCK,
SCHELPER_MSG_PREFS_CLOSE,
SCHELPER_MSG_PREFS_SYNCHRONIZE,
SCHELPER_MSG_INTERFACE_REFRESH = 200,
#if !TARGET_OS_IPHONE
SCHELPER_MSG_KEYCHAIN_COPY = 300,
SCHELPER_MSG_KEYCHAIN_EXISTS,
SCHELPER_MSG_KEYCHAIN_REMOVE,
SCHELPER_MSG_KEYCHAIN_SET,
#endif // !TARGET_OS_IPHONE
SCHELPER_MSG_EXIT = 9999
};
__BEGIN_DECLS
int _SCHelperOpen (CFDataRef authorizationData);
Boolean _SCHelperExec (int helper,
uint32_t msgID,
CFDataRef data,
uint32_t *status,
CFDataRef *reply);
void _SCHelperClose (int helper);
__END_DECLS
#endif