| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright 2010 The Native Client Authors. All rights reserved. | |
| 3 * Use of this source code is governed by a BSD-style license that can | |
| 4 * be found in the LICENSE file. | |
| 5 */ | |
| 6 | |
| 7 // Routines for determining the most appropriate NaCl executable for | |
| 8 // the current CPU's architecture. | |
| 9 | |
| 10 #ifndef NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_NEXE_ARCH_H_ | |
| 11 #define NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_NEXE_ARCH_H_ | |
| 12 | |
| 13 #include "native_client/src/include/portability.h" | |
| 14 | |
| 15 namespace plugin { | |
| 16 // Returns the kind of SFI sandbox implemented by sel_ldr on this | |
| 17 // platform. See the implementation in nexe_arch.cc for possible values. | |
| 18 // | |
| 19 // This is a function of the current CPU, OS, browser, installed | |
| 20 // sel_ldr(s). It is not sufficient to derive the result only from | |
| 21 // build-time parameters since, for example, an x86-32 plugin is | |
| 22 // capable of launching a 64-bit NaCl sandbox if a 64-bit sel_ldr is | |
| 23 // installed (and indeed, may only be capable of launching a 64-bit | |
| 24 // sandbox). | |
| 25 // | |
| 26 // Note: The platform-sepcific implementations for this are under | |
| 27 // <platform>/nexe_arch.cc | |
| 28 const char* GetSandboxISA(); | |
| 29 } // namespace plugin | |
| 30 | |
| 31 #if defined(NACL_STANDALONE) | |
| 32 // These symbols are for linking with things like unit test frameworks that | |
| 33 // want to get at the C++ symbol names defined above in an un-mangled way. | |
| 34 // TODO(dspringer): Figure out how to link the shared libs with the test | |
| 35 // harness directly, and get rid of these wrappers. | |
| 36 EXTERN_C_BEGIN | |
| 37 DLLEXPORT const char* NaClPluginGetSandboxISA(); | |
| 38 EXTERN_C_END | |
| 39 #endif | |
| 40 | |
| 41 #endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_NEXE_ARCH_H_ | |
| OLD | NEW |