X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/d9a64523371fa019c4575bb400cbbc3a50ac9903..a991bd8d3e7fe02dbca0644054bab73c5b75324a:/libsyscall/wrappers/_libkernel_init.h diff --git a/libsyscall/wrappers/_libkernel_init.h b/libsyscall/wrappers/_libkernel_init.h index b081ebc90..cc95f1b26 100644 --- a/libsyscall/wrappers/_libkernel_init.h +++ b/libsyscall/wrappers/_libkernel_init.h @@ -2,7 +2,7 @@ * Copyright (c) 2010-2014 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ - * + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -11,10 +11,10 @@ * unlawful or unlicensed copies of an Apple operating system, or to * circumvent, violate, or enable the circumvention or violation of, any * terms of an Apple operating system software license agreement. - * + * * Please obtain a copy of the License at * http://www.opensource.apple.com/apsl/ and read it before using this file. - * + * * The Original Code and all software distributed under the License are * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, @@ -22,13 +22,14 @@ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. * Please see the License for the specific language governing rights and * limitations under the License. - * + * * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ #ifndef __LIBKERNEL_INIT_H #define __LIBKERNEL_INIT_H +#include #include #include #include @@ -64,6 +65,9 @@ typedef const struct _libkernel_functions { /* The following functions are included in version 3 of this structure */ void (*pthread_clear_qos_tsd)(mach_port_t); + /* The following functions are included in version 4 of this structure */ + int (*pthread_current_stack_contains_np)(const void *, size_t); + /* Subsequent versions must only add pointers! */ } *_libkernel_functions_t; @@ -100,13 +104,21 @@ typedef const struct _libkernel_voucher_functions { /* Subsequent versions must only add pointers! */ } *_libkernel_voucher_functions_t; +typedef struct _libkernel_late_init_config { + unsigned long version; + bool enable_system_version_compat; + bool enable_ios_version_compat; +} *_libkernel_late_init_config_t; + struct ProgramVars; /* forward reference */ void __libkernel_init(_libkernel_functions_t fns, const char *envp[], - const char *apple[], const struct ProgramVars *vars); + const char *apple[], const struct ProgramVars *vars); kern_return_t __libkernel_platform_init(_libkernel_string_functions_t fns); kern_return_t __libkernel_voucher_init(_libkernel_voucher_functions_t fns); +void __libkernel_init_late(_libkernel_late_init_config_t config); + #endif // __LIBKERNEL_INIT_H