1 // Copyright (c) 2012 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 SANDBOX_LINUX_SUID_SANDBOX_H_ 6 #define SANDBOX_LINUX_SUID_SANDBOX_H_ 7 8 #if defined(__cplusplus) 9 namespace sandbox { 10 #endif 11 12 // These are command line switches that may be used by other programs 13 // (e.g. Chrome) to construct a command line for the sandbox. 14 static const char kAdjustOOMScoreSwitch[] = "--adjust-oom-score"; 15 16 static const char kSandboxDescriptorEnvironmentVarName[] = "SBX_D"; 17 static const char kSandboxHelperPidEnvironmentVarName[] = "SBX_HELPER_PID"; 18 19 static const long kSUIDSandboxApiNumber = 1; 20 static const char kSandboxEnvironmentApiRequest[] = "SBX_CHROME_API_RQ"; 21 static const char kSandboxEnvironmentApiProvides[] = "SBX_CHROME_API_PRV"; 22 23 // This number must be kept in sync with common/zygote_commands_linux.h 24 static const int kZygoteIdFd = 7; 25 26 // These are the magic byte values which the sandboxed process uses to request 27 // that it be chrooted. 28 static const char kMsgChrootMe = 'C'; 29 static const char kMsgChrootSuccessful = 'O'; 30 31 // These are set if we have respectively switched to a new PID or NET namespace 32 // by going through the setuid binary helper. 33 static const char kSandboxPIDNSEnvironmentVarName[] = "SBX_PID_NS"; 34 static const char kSandboxNETNSEnvironmentVarName[] = "SBX_NET_NS"; 35 36 #if defined(__cplusplus) 37 } // namespace sandbox 38 #endif 39 40 #endif // SANDBOX_LINUX_SUID_SANDBOX_H_ 41