blob: 100f16105bb3f8a6498617319529910ef1788b37 [file] [log] [blame] [edit]
// 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.
#include "nacl_bindings/monacl_sel_main.h"
#include "nacl_bindings/mojo_syscall.h"
#include "native_client/src/public/chrome_main.h"
#include "native_client/src/public/nacl_app.h"
namespace mojo {
int LaunchNaCl(NaClDesc* nexe_desc,
NaClDesc* irt_desc,
int app_argc,
char* app_argv[],
MojoHandle handle) {
NaClChromeMainInit();
struct NaClChromeMainArgs* args = NaClChromeMainArgsCreate();
args->nexe_desc = nexe_desc;
args->irt_desc = irt_desc;
args->argc = app_argc;
args->argv = app_argv;
struct NaClApp* nap = NaClAppCreate();
InjectMojo(nap, handle);
int exit_status = 1;
NaClChromeMainStart(nap, args, &exit_status);
return exit_status;
}
void NaClExit(int code) {
::NaClExit(code);
}
} // namespace mojo