diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5ccadabb1..f40bf6623 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -440,6 +440,7 @@ add_subdirectory(CoreMIDI) add_subdirectory(libsandbox) add_subdirectory(OpenCL) add_subdirectory(OpenDirectory) +add_subdirectory(opendirectory) add_subdirectory(MetalKit) # Just a stub diff --git a/src/SystemConfiguration/stubs.c b/src/SystemConfiguration/stubs.c index 2023c0786..9ac4b0013 100644 --- a/src/SystemConfiguration/stubs.c +++ b/src/SystemConfiguration/stubs.c @@ -21,3 +21,14 @@ CFStringRef SCDynamicStoreKeyCreate(CFAllocatorRef allocator, CFStringRef fmt, . STUB(); return NULL; } + +Boolean SCDynamicStoreSetDispatchQueue(SCDynamicStoreRef store, dispatch_queue_t queue) +{ + STUB(); + return FALSE; +} + +Boolean SCDynamicStoreSetNotificationKeys(SCDynamicStoreRef store, CFArrayRef __nullable keys, CFArrayRef __nullable patterns) { + STUB(); + return FALSE; +} diff --git a/src/opendirectory/CMakeLists.txt b/src/opendirectory/CMakeLists.txt new file mode 100644 index 000000000..7486752dc --- /dev/null +++ b/src/opendirectory/CMakeLists.txt @@ -0,0 +1,3 @@ +project(opendirectory_internal) + +add_darling_static_library(opendirectory_internal SOURCES src/odutils.c src/odconstants.c) diff --git a/src/opendirectory/include/opendirectory/odconstants.h b/src/opendirectory/include/opendirectory/odconstants.h new file mode 100644 index 000000000..531782e61 --- /dev/null +++ b/src/opendirectory/include/opendirectory/odconstants.h @@ -0,0 +1,12 @@ +extern const char *kODAPIPortNameDebug; +extern const char *kODAPIPortName; + +extern const char *kODXPCReplyClientID; +extern const char *kODXPCReplyData; +extern const char *kODXPCReplyError; +extern const char *kODXPCReplyComplete; +extern const char *kODXPCMessageClientID; +extern const char *kODXPCMessageSession; +extern const char *kODXPCMessageNode; +extern const char *kODXPCMessageRequest; +extern const char *kODXPCMessageReqType; diff --git a/src/opendirectory/include/opendirectory/odutils.h b/src/opendirectory/include/opendirectory/odutils.h new file mode 100644 index 000000000..de8d6d370 --- /dev/null +++ b/src/opendirectory/include/opendirectory/odutils.h @@ -0,0 +1,24 @@ +#ifndef ODUTILS_H +#define ODUTILS_H + +#include +#include +#include +#include + +extern const uuid_t kODNullUUID; + +extern const int eODCustomCallConfigureGetAuthRef; +extern const int eODCustomCallConfigureDestroyAuthRef; + +extern const int eODCustomCallSearchSetCustomNodeList; +extern const int eODCustomCallSearchSetPolicyAutomatic; +extern const int eODCustomCallSearchSetPolicyLocalOnly; +extern const int eODCustomCallSearchSetPolicyCustom; + +void *schema_get_value_at_index(CFArrayRef value, int index); +void schema_deconstruct_result(CFDictionaryRef dict, CFStringRef *function_name, CFArrayRef *response); +CFDictionaryRef schema_construct_requestv(CFStringRef function_name, CFIndex total_params, va_list ap); +CFDictionaryRef schema_construct_request(CFStringRef function_name, CFIndex total_params, ...); + +#endif diff --git a/src/opendirectory/src/odconstants.c b/src/opendirectory/src/odconstants.c new file mode 100644 index 000000000..24ffe6603 --- /dev/null +++ b/src/opendirectory/src/odconstants.c @@ -0,0 +1,15 @@ +#import + +#warning "TODO: Figure out real values" +const char *kODAPIPortNameDebug = "kODAPIPortNameDebug"; +const char *kODAPIPortName = "kODAPIPortName"; + +const char *kODXPCReplyClientID = "kODXPCReplyClientID"; +const char *kODXPCReplyData = "kODXPCReplyData"; +const char *kODXPCReplyError = "kODXPCReplyError"; +const char *kODXPCReplyComplete = "kODXPCReplyComplete"; +const char *kODXPCMessageClientID = "kODXPCMessageClientID"; +const char *kODXPCMessageSession = "kODXPCMessageSession"; +const char *kODXPCMessageNode = "kODXPCMessageNode"; +const char *kODXPCMessageRequest = "kODXPCMessageRequest"; +const char *kODXPCMessageReqType = "kODXPCMessageReqType"; diff --git a/src/opendirectory/src/odutils.c b/src/opendirectory/src/odutils.c new file mode 100644 index 000000000..e1e03897b --- /dev/null +++ b/src/opendirectory/src/odutils.c @@ -0,0 +1,37 @@ +#import + +#warning "TODO: Figure out real values" +const int eODCustomCallConfigureGetAuthRef = 0; +const int eODCustomCallConfigureDestroyAuthRef = 1; + +const int eODCustomCallSearchSetCustomNodeList = 2; +const int eODCustomCallSearchSetPolicyAutomatic = 3; +const int eODCustomCallSearchSetPolicyLocalOnly = 4; +const int eODCustomCallSearchSetPolicyCustom = 5; + +const uuid_t kODNullUUID = {0}; + +void *schema_get_value_at_index(CFArrayRef value, int index) { + puts("STUB: schema_get_value_at_index called"); + return NULL; +} + +void schema_deconstruct_result(CFDictionaryRef dict, CFStringRef *function_name, CFArrayRef *response) { + puts("STUB: schema_deconstruct_result"); +} + +CFDictionaryRef schema_construct_requestv(CFStringRef function_name, CFIndex total_params, va_list ap) { + puts("STUB: schema_construct_requestv"); + return NULL; +} + +CFDictionaryRef schema_construct_request(CFStringRef function_name, CFIndex total_params, ...) { + va_list ap; + CFDictionaryRef result; + + va_start(ap, total_params); + result = schema_construct_requestv(function_name, total_params, ap); + va_end(ap); + + return result; +}