1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
7 #include "mojo/nacl/mojo_irt.h"
8 #include "mojo/public/c/system/core.h"
9 #include "native_client/src/public/chrome_main.h"
10 #include "native_client/src/public/imc_syscalls.h"
11 #include "native_client/src/public/imc_types.h"
12 #include "native_client/src/untrusted/irt/irt.h"
14 // The value for this FD must not conflict with uses inside Chromium. However,
15 // mojo/nacl doesn't depend on any Chromium headers, so we can't use a #define
17 #define NACL_MOJO_DESC (NACL_CHROME_DESC_BASE + 3)
19 bool g_irt_mojo_valid = false;
20 struct nacl_irt_mojo g_irt_mojo;
22 struct nacl_irt_mojo* get_irt_mojo() {
23 if (!g_irt_mojo_valid) {
24 size_t rc = nacl_interface_query(NACL_IRT_MOJO_v0_1,
27 if (rc != sizeof(g_irt_mojo))
30 g_irt_mojo_valid = true;