Index: third_party/mojo/src/nacl_bindings/monacl_sel_main.cc |
diff --git a/third_party/mojo/src/nacl_bindings/monacl_sel_main.cc b/third_party/mojo/src/nacl_bindings/monacl_sel_main.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..100f16105bb3f8a6498617319529910ef1788b37 |
--- /dev/null |
+++ b/third_party/mojo/src/nacl_bindings/monacl_sel_main.cc |
@@ -0,0 +1,39 @@ |
+// 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 |