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.
5 #include "mojo/nacl/monacl_sel_main.h"
9 #include "mojo/nacl/mojo_syscall.h"
10 #include "native_client/src/public/chrome_main.h"
11 #include "native_client/src/public/nacl_app.h"
12 #include "native_client/src/trusted/desc/nacl_desc_io.h"
13 #include "native_client/src/trusted/service_runtime/include/sys/fcntl.h"
17 void LaunchNaCl(const char* nexe_file
, const char* irt_file
,
18 int app_argc
, char* app_argv
[]) {
22 struct NaClDesc
* irt_desc
= (struct NaClDesc
*) NaClDescIoDescOpen(
23 irt_file
, NACL_ABI_O_RDONLY
, 0);
24 if (NULL
== irt_desc
) {
29 // Open the main executable.
30 struct NaClDesc
* nexe_desc
= (struct NaClDesc
*) NaClDescIoDescOpen(
31 nexe_file
, NACL_ABI_O_RDONLY
, 0);
32 if (NULL
== nexe_desc
) {
37 struct NaClChromeMainArgs
* args
= NaClChromeMainArgsCreate();
38 args
->nexe_desc
= nexe_desc
;
39 args
->irt_desc
= irt_desc
;
41 args
->argc
= app_argc
;
42 args
->argv
= app_argv
;
44 struct NaClApp
* nap
= NaClAppCreate();
48 NaClChromeMainStart(nap
, args
, &exit_status
);
49 NaClExit(exit_status
);