| // Copyright 2014 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. |
| |
| {{generator_warning}} |
| |
| #include "mojo/nacl/mojo_irt.h" |
| #include "mojo/public/c/system/core.h" |
| #include "native_client/src/public/chrome_main.h" |
| #include "native_client/src/public/imc_syscalls.h" |
| #include "native_client/src/public/imc_types.h" |
| #include "native_client/src/untrusted/irt/irt.h" |
| |
| // The value for this FD must not conflict with uses inside Chromium. However, |
| // mojo/nacl doesn't depend on any Chromium headers, so we can't use a #define |
| // from there. |
| #define NACL_MOJO_DESC (NACL_CHROME_DESC_BASE + 3) |
| |
| bool g_irt_mojo_valid = false; |
| struct nacl_irt_mojo g_irt_mojo; |
| |
| struct nacl_irt_mojo* get_irt_mojo() { |
| if (!g_irt_mojo_valid) { |
| size_t rc = nacl_interface_query(NACL_IRT_MOJO_v0_1, |
| &g_irt_mojo, |
| sizeof(g_irt_mojo)); |
| if (rc != sizeof(g_irt_mojo)) |
| return NULL; |
| else |
| g_irt_mojo_valid = true; |
| } |
| return &g_irt_mojo; |
| } |
| |
| {{body}} |