SCDynamicStoreInternal.h [plain text]
#ifndef _SCDYNAMICSTOREINTERNAL_H
#define _SCDYNAMICSTOREINTERNAL_H
#include <sys/cdefs.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,
} __SCDynamicStoreNotificationStatus;
typedef struct {
CFRuntimeBase cfBase;
mach_port_t server;
Boolean locked;
CFMutableSetRef keys;
CFMutableSetRef reKeys;
__SCDynamicStoreNotificationStatus notifyStatus;
CFIndex rlsRefs;
CFRunLoopSourceRef rls;
SCDynamicStoreCallBack rlsFunction;
SCDynamicStoreContext rlsContext;
SCDynamicStoreCallBack_v1 callbackFunction;
void *callbackArgument;
CFMachPortRef callbackPort;
CFRunLoopRef callbackRunLoop;
CFRunLoopSourceRef callbackRunLoopSource;
mach_port_t notifyPort;
mach_msg_id_t notifyPortIdentifier;
int notifyFile;
int notifyFileIdentifier;
int notifySignal;
task_t notifySignalTask;
} SCDynamicStorePrivate, *SCDynamicStorePrivateRef;
__BEGIN_DECLS
SCDynamicStoreRef
__SCDynamicStoreCreatePrivate (CFAllocatorRef allocator,
const CFStringRef name,
SCDynamicStoreCallBack callout,
SCDynamicStoreContext *context);
void
__SCLog (int level,
CFStringRef str);
void
__SCPrint (FILE *stream,
CFStringRef str);
void
__showMachPortStatus ();
void
__showMachPortReferences (mach_port_t port);
__END_DECLS
#endif