| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef MOJO_NACL_NONSFI_IRT_MOJO_NONSFI_H_ |
| #define MOJO_NACL_NONSFI_IRT_MOJO_NONSFI_H_ |
| |
| #include "mojo/public/c/system/functions.h" |
| #include "native_client/src/untrusted/irt/irt_dev.h" |
| |
| namespace nacl { |
| |
| extern const struct nacl_irt_private_pnacl_translator_compile |
| nacl_irt_private_pnacl_translator_compile; |
| extern const struct nacl_irt_private_pnacl_translator_link |
| nacl_irt_private_pnacl_translator_link; |
| extern const struct nacl_irt_resource_open |
| nacl_irt_resource_open; |
| |
| // Used to pass handle to application. If uncalled, |
| // the handle defaults to MOJO_HANDLE_INVALID. |
| void MojoSetInitialHandle(MojoHandle handle); |
| |
| MojoResult MojoGetInitialHandle(MojoHandle* handle); |
| |
| // Mechanism to control when nexes get access to the PNaCl translation |
| // IRT functions. |
| void MojoPnaclTranslatorEnable(); |
| |
| // IRT interface query function which may be passed to nacl_irt_nonsfi_entry. |
| // Queries for a mojo interface, then for the irt core. |
| size_t MojoIrtNonsfiQuery(const char* interface_ident, |
| void* table, |
| size_t tablesize); |
| |
| } // namespace nacl |
| #endif // MOJO_NACL_NONSFI_IRT_MOJO_NONSFI_H_ |