| Index: mojo/nacl/irt_mojo_nonsfi.cc
|
| diff --git a/mojo/nacl/irt_mojo_nonsfi.cc b/mojo/nacl/irt_mojo_nonsfi.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..80039f1d0911170a60684e213d592faf43a2d685
|
| --- /dev/null
|
| +++ b/mojo/nacl/irt_mojo_nonsfi.cc
|
| @@ -0,0 +1,63 @@
|
| +// 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.
|
| +
|
| +#include "mojo/nacl/irt_mojo_nonsfi.h"
|
| +
|
| +#include "mojo/public/c/system/functions.h"
|
| +#include "mojo/public/platform/nacl/mojo_irt.h"
|
| +#include "native_client/src/public/irt_core.h"
|
| +
|
| +namespace {
|
| +
|
| +MojoHandle g_mojo_handle = MOJO_HANDLE_INVALID;
|
| +
|
| +MojoResult _MojoGetInitialHandle(MojoHandle* handle) {
|
| + *handle = g_mojo_handle;
|
| + return MOJO_RESULT_OK;
|
| +}
|
| +
|
| +const struct nacl_irt_mojo kIrtMojo = {
|
| + MojoCreateSharedBuffer,
|
| + MojoDuplicateBufferHandle,
|
| + MojoMapBuffer,
|
| + MojoUnmapBuffer,
|
| + MojoCreateDataPipe,
|
| + MojoWriteData,
|
| + MojoBeginWriteData,
|
| + MojoEndWriteData,
|
| + MojoReadData,
|
| + MojoBeginReadData,
|
| + MojoEndReadData,
|
| + MojoGetTimeTicksNow,
|
| + MojoClose,
|
| + MojoWait,
|
| + MojoWaitMany,
|
| + MojoCreateMessagePipe,
|
| + MojoWriteMessage,
|
| + MojoReadMessage,
|
| + _MojoGetInitialHandle,
|
| +};
|
| +
|
| +const struct nacl_irt_interface kIrtInterfaces[] = {
|
| + {NACL_IRT_MOJO_v0_1, &kIrtMojo, sizeof(kIrtMojo), nullptr}};
|
| +
|
| +} // namespace
|
| +
|
| +namespace irtNonsfi {
|
| +
|
| +void MojoSetInitialHandle(MojoHandle handle) {
|
| + g_mojo_handle = handle;
|
| +}
|
| +
|
| +size_t MojoIrtNonsfiQuery(const char* interface_ident,
|
| + void* table,
|
| + size_t tablesize) {
|
| + size_t result = nacl_irt_query_list(interface_ident, table, tablesize,
|
| + kIrtInterfaces, sizeof(kIrtInterfaces));
|
| + if (result != 0)
|
| + return result;
|
| + return nacl_irt_query_core(interface_ident, table, tablesize);
|
| +}
|
| +
|
| +} // namespace irtNonsfi
|
|
|