SCDynamicStoreInternal.h [plain text]
#ifndef _SCDYNAMICSTOREINTERNAL_H
#define _SCDYNAMICSTOREINTERNAL_H
#include <Availability.h>
#include <TargetConditionals.h>
#include <sys/cdefs.h>
#include <dispatch/dispatch.h>
#include <sys/types.h>
#include <mach/mach.h>
#include <pthread.h>
#include <regex.h>
#include <CoreFoundation/CoreFoundation.h>
#include <CoreFoundation/CFRuntime.h>
#include <SystemConfiguration/SCDynamicStore.h>
typedef enum {
NotifierNotRegistered = 0,
Using_NotifierWait,
Using_NotifierInformViaCallback,
Using_NotifierInformViaMachPort,
Using_NotifierInformViaFD,
Using_NotifierInformViaSignal,
Using_NotifierInformViaRunLoop,
Using_NotifierInformViaDispatch
} __SCDynamicStoreNotificationStatus;
typedef struct {
CFRuntimeBase cfBase;
CFStringRef name;
CFDictionaryRef options;
mach_port_t server;
Boolean locked;
Boolean useSessionKeys;
__SCDynamicStoreNotificationStatus notifyStatus;
CFMutableArrayRef rlList;
CFRunLoopSourceRef rls;
SCDynamicStoreCallBack rlsFunction;
SCDynamicStoreContext rlsContext;
SCDynamicStoreCallBack_v1 callbackFunction;
void *callbackArgument;
CFMachPortRef callbackPort;
CFRunLoopSourceRef callbackRLS;
dispatch_queue_t dispatchQueue;
dispatch_source_t callbackSource;
dispatch_queue_t callbackQueue;
SCDynamicStoreDisconnectCallBack disconnectFunction;
Boolean disconnectForceCallBack;
CFMutableArrayRef keys;
CFMutableArrayRef patterns;
mach_port_t notifyPort;
mach_msg_id_t notifyPortIdentifier;
int notifyFile;
int notifyFileIdentifier;
int notifySignal;
task_t notifySignalTask;
} SCDynamicStorePrivate, *SCDynamicStorePrivateRef;
__BEGIN_DECLS
SCDynamicStorePrivateRef
__SCDynamicStoreCreatePrivate (CFAllocatorRef allocator,
const CFStringRef name,
SCDynamicStoreCallBack callout,
SCDynamicStoreContext *context);
Boolean
__SCDynamicStoreReconnect (SCDynamicStoreRef store);
Boolean
__SCDynamicStoreReconnectNotifications (SCDynamicStoreRef store);
__END_DECLS
#endif