Upstream TestHttpServerClient for Android.
[chromium-blink-merge.git] / components / nacl / common / nacl_helper_linux.h
bloba9324b3fa1d786a2cd705bcad2d33cd36b9747ca
1 // Copyright 2013 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 #ifndef COMPONENTS_NACL_COMMON_NACL_HELPER_LINUX_H_
6 #define COMPONENTS_NACL_COMMON_NACL_HELPER_LINUX_H_
8 // A mini-zygote specifically for Native Client. This file defines
9 // constants used to implement communication between the nacl_helper
10 // process and the Chrome zygote.
12 #define kNaClMaxIPCMessageLength 2048
14 // Used by Helper to tell Zygote it has started successfully.
15 #define kNaClHelperStartupAck "NACLHELPER_OK"
17 enum NaClZygoteIPCCommand {
18 kNaClForkRequest,
19 kNaClGetTerminationStatusRequest,
22 // The next set of constants define global Linux file descriptors.
23 // For communications between NaCl loader and browser.
24 // See also content/common/zygote_main_linux.cc and
25 // http://code.google.com/p/chromium/wiki/LinuxZygote
27 // For communications between NaCl loader and zygote.
28 #define kNaClZygoteDescriptor 3
29 // For communications between the NaCl loader process and
30 // the SUID sandbox.
31 #define kNaClSandboxDescriptor 5
32 // NOTE: kNaClSandboxDescriptor must match
33 // content/browser/zygote_main_linux.cc
34 // kMagicSandboxIPCDescriptor.
36 // A fork request from the Zygote to the helper includes an array
37 // of three file descriptors. These constants are used as indicies
38 // into the array.
39 // Used to pass in the descriptor for talking to the Browser
40 #define kNaClBrowserFDIndex 0
41 // The next two are used in the protocol for discovering the
42 // child processes real PID from within the SUID sandbox. See
43 // http://code.google.com/p/chromium/wiki/LinuxZygote
44 #define kNaClDummyFDIndex 1
45 #define kNaClParentFDIndex 2
47 #endif // COMPONENTS_NACL_COMMON_NACL_HELPER_LINUX_H_