1 /* 2 * Copyright (c) 2009 The Native Client Authors. All rights reserved. 3 * Use of this source code is governed by a BSD-style license that can be 4 * found in the LICENSE file. 5 */ 6 7 #ifndef NATIVE_CLIENT_SERVICE_RUNTIME_SEL_RT_H__ 8 #define NATIVE_CLIENT_SERVICE_RUNTIME_SEL_RT_H__ 1 9 10 #include "native_client/src/include/build_config.h" 11 #include "native_client/src/include/nacl_base.h" 12 13 #if NACL_ARCH(NACL_BUILD_ARCH) == NACL_x86 14 #include "native_client/src/trusted/service_runtime/arch/x86/sel_rt.h" 15 #elif NACL_ARCH(NACL_BUILD_ARCH) == NACL_arm 16 #include "native_client/src/trusted/service_runtime/arch/arm/sel_rt.h" 17 #elif NACL_ARCH(NACL_BUILD_ARCH) == NACL_mips 18 #include "native_client/src/trusted/service_runtime/arch/mips/sel_rt.h" 19 #else 20 #error Unknown platform! 21 #endif 22 23 EXTERN_C_BEGIN 24 25 struct NaClApp; 26 struct NaClSignalContext; 27 28 void NaClInitGlobals(void); 29 30 uintptr_t NaClGetThreadCtxSp(struct NaClThreadContext *th_ctx); 31 32 void NaClThreadContextToSignalContext(const struct NaClThreadContext *th_ctx, 33 struct NaClSignalContext *sig_ctx); 34 35 void NaClSignalContextUnsetClobberedRegisters( 36 struct NaClSignalContext *sig_ctx); 37 38 EXTERN_C_END 39 40 #endif /* NATIVE_CLIENT_SERVICE_RUNTIME_SEL_RT_H__ */ 41