blob: 7a703765a2ebbd21745c7f523ef5d937dc8a5181 [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/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"
// 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)
static void DoMojoCall(uint32_t params[], nacl_abi_size_t num_params) {
NaClAbiNaClImcMsgIoVec iov[1] = {
{params, num_params}
};
NaClAbiNaClImcMsgHdr msgh = {iov, 1, NULL, 0};
// Note: return value unchecked. We're relying on the result parameter being
// unmodified - if the syscall fails, the Mojo function will return whatever
// the result parameter was initialized to before this function was called.
imc_sendmsg(NACL_MOJO_DESC, &msgh, 0);
}
{{body}}