#ifndef _S_SCD_H
#define _S_SCD_H
#include <sys/cdefs.h>
#define kSCDData CFSTR("data")
#define kSCDWatchers CFSTR("watchers")
#define kSCDWatcherRefs CFSTR("watcherRefs")
#define kSCDSession CFSTR("session")
#define kSCDName CFSTR("name")
#define kSCDChangedKeys CFSTR("changedKeys")
#define kSCDSessionKeys CFSTR("sessionKeys")
extern int storeLocked;
extern CFMutableDictionaryRef storeData;
extern CFMutableDictionaryRef sessionData;
extern CFMutableDictionaryRef patternData;
extern CFMutableSetRef changedKeys;
extern CFMutableSetRef deferredRemovals;
extern CFMutableSetRef removedSessionKeys;
extern CFMutableSetRef needsNotification;
extern CFMutableDictionaryRef storeData_s;
extern CFMutableDictionaryRef patternData_s;
extern CFMutableSetRef changedKeys_s;
extern CFMutableSetRef deferredRemovals_s;
extern CFMutableSetRef removedSessionKeys_s;
__BEGIN_DECLS
int
__SCDynamicStoreOpen (SCDynamicStoreRef *store,
CFStringRef name);
int
__SCDynamicStoreClose (SCDynamicStoreRef *store,
Boolean internal);
int
__SCDynamicStoreLock (SCDynamicStoreRef store,
Boolean recursive);
int
__SCDynamicStoreUnlock (SCDynamicStoreRef store,
Boolean recursive);
int
__SCDynamicStoreCopyKeyList (SCDynamicStoreRef store,
CFStringRef prefix,
Boolean isRegex,
CFArrayRef *subKeys);
int
__SCDynamicStoreAddValue (SCDynamicStoreRef store,
CFStringRef key,
CFDataRef value,
Boolean internal);
int
__SCDynamicStoreCopyValue (SCDynamicStoreRef store,
CFStringRef key,
CFDataRef *value,
Boolean internal);
int
__SCDynamicStoreCopyMultiple (SCDynamicStoreRef store,
CFArrayRef keys,
CFArrayRef patterns,
CFDictionaryRef *values);
int
__SCDynamicStoreSetValue (SCDynamicStoreRef store,
CFStringRef key,
CFDataRef value,
Boolean internal);
int
__SCDynamicStoreSetMultiple (SCDynamicStoreRef store,
CFDictionaryRef keysToSet,
CFArrayRef keysToRemove,
CFArrayRef keysToNotify);
int
__SCDynamicStoreRemoveValue (SCDynamicStoreRef store,
CFStringRef key,
Boolean internal);
int
__SCDynamicStoreTouchValue (SCDynamicStoreRef store,
CFStringRef key);
int
__SCDynamicStoreNotifyValue (SCDynamicStoreRef store,
CFStringRef key,
Boolean internal);
int
__SCDynamicStoreSnapshot (SCDynamicStoreRef store);
int
__SCDynamicStoreAddWatchedKey (SCDynamicStoreRef store,
CFStringRef key,
Boolean isRegex,
Boolean internal);
int
__SCDynamicStoreRemoveWatchedKey (SCDynamicStoreRef store,
CFStringRef key,
Boolean isRegex,
Boolean internal);
int
__SCDynamicStoreSetNotificationKeys (SCDynamicStoreRef store,
CFArrayRef keys,
CFArrayRef patterns);
int
__SCDynamicStoreCopyNotifiedKeys (SCDynamicStoreRef store,
CFArrayRef *notifierKeys);
int
__SCDynamicStoreNotifyMachPort (SCDynamicStoreRef store,
mach_msg_id_t msgid,
mach_port_t *port);
int
__SCDynamicStoreNotifyFileDescriptor (SCDynamicStoreRef store,
int32_t identifier,
int *fd);
int
__SCDynamicStoreNotifySignal (SCDynamicStoreRef store,
pid_t pid,
int sig);
int
__SCDynamicStoreNotifyCancel (SCDynamicStoreRef store);
void
_swapLockedStoreData (void);
void
_addWatcher (CFNumberRef sessionNum,
CFStringRef watchedKey);
void
_removeWatcher (CFNumberRef sessionNum,
CFStringRef watchedKey);
void
pushNotifications (void);
__END_DECLS
#endif