blob: 700d1912161f8dc61923f0cad7dda516bbcf4c68 [file] [log] [blame]
James Robinson646469d2014-10-03 15:33:28 -07001// 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.
4
5#ifndef MOJO_NACL_MOJO_SYSCALL_H_
6#define MOJO_NACL_MOJO_SYSCALL_H_
7
Justin TerAvest409959d2015-01-27 14:59:40 -07008#include "mojo/public/c/system/types.h"
9
10// Injects a NaClDesc for Mojo support and sets a MojoHandle to be provided to
11// untrusted code as a "service provider" MojoHandle. This provides the
12// implementation of the Mojo system API outside the NaCl sandbox and allows
13// untrusted code to communicate with Mojo interfaces outside the sandbox or in
14// other processes.
15void InjectMojo(struct NaClApp* nap, MojoHandle handle);
16
Justin TerAvest2ec2bda2014-11-25 13:52:06 -070017// Injects a NaClDesc for Mojo support. This provides the implementation of the
18// Mojo system API outside the NaCl sandbox.
Justin TerAvest409959d2015-01-27 14:59:40 -070019// TODO(teravest): Remove this once it is no longer called.
James Robinson646469d2014-10-03 15:33:28 -070020void InjectMojo(struct NaClApp* nap);
21
Justin TerAvest2ec2bda2014-11-25 13:52:06 -070022// Injects a "disabled" NaClDesc for Mojo support. This is to make debugging
23// more straightforward in the case where Mojo is not enabled for NaCl plugins.
24void InjectDisabledMojo(struct NaClApp* nap);
25
Nick Brayb0e6d972015-02-26 11:22:57 -080026#endif // MOJO_NACL_MOJO_SYSCALL_H_