blob: a012798628e9be74663ca2b1002c6715f7ea8c48 [file] [log] [blame]
// 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}}