X-Git-Url: https://git.saurik.com/apple/libplatform.git/blobdiff_plain/e39c3b4b1d65e3593d0e74f799230d571e52d4fa..438624e04d57192b9d4dd7a6083a0ccd59a5a95f:/src/init.c?ds=sidebyside diff --git a/src/init.c b/src/init.c index 7f43e47..098d54f 100644 --- a/src/init.c +++ b/src/init.c @@ -23,19 +23,47 @@ #include #include +#include +#include <_libkernel_init.h> struct ProgramVars; /* forward reference */ extern void _simple_asl_init(const char *envp[], const struct ProgramVars *vars); extern void __pfz_setup(const char *apple[]); +#if !VARIANT_STATIC +static const struct _libkernel_string_functions _platform_string_functions = { + .version = 1, + .bzero = _platform_bzero, + .memchr = _platform_memchr, + .memcmp = _platform_memcmp, + .memmove = _platform_memmove, + .memccpy = _platform_memccpy, + .memset = _platform_memset, + .strchr = _platform_strchr, + .strcmp = _platform_strcmp, + .strcpy = _platform_strcpy, + .strlcat = _platform_strlcat, + .strlcpy = _platform_strlcpy, + .strlen = _platform_strlen, + .strncmp = _platform_strncmp, + .strncpy = _platform_strncpy, + .strnlen = _platform_strnlen, + .strstr = _platform_strstr, +}; +#endif + void __libplatform_init(void *future_use __unused, const char *envp[], const char *apple[], const struct ProgramVars *vars) { /* In the Simulator, we just provide _simple for dyld */ -#if !TARGET_IPHONE_SIMULATOR +#if !TARGET_OS_SIMULATOR __pfz_setup(apple); #endif _simple_asl_init(envp, vars); + +#if !VARIANT_STATIC + __libkernel_platform_init(&_platform_string_functions); +#endif }