// Copyright (c) 2012 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. #ifndef CONTENT_COMMON_ZYGOTE_COMMANDS_LINUX_H_ #define CONTENT_COMMON_ZYGOTE_COMMANDS_LINUX_H_ #include "base/posix/global_descriptors.h" #include "ipc/ipc_descriptors.h" namespace content { // Contents of the initial message sent from the zygote to the browser right // after it starts. static const char kZygoteBootMessage[] = "ZYGOTE_BOOT"; // Contents of the initial message sent from the zygote to the browser when it // is ready to go. static const char kZygoteHelloMessage[] = "ZYGOTE_OK"; // Message sent by zygote children to the browser so the browser can discover // the sending child's process ID. static const char kZygoteChildPingMessage[] = "CHILD_PING"; // Maximum allowable length for messages sent to the zygote. const size_t kZygoteMaxMessageLength = 8192; // File descriptors initialized by the Zygote Host const int kZygoteSocketPairFd = kPrimaryIPCChannel + base::GlobalDescriptors::kBaseDescriptor; // These are the command codes used on the wire between the browser and the // zygote. enum { // Fork off a new renderer. kZygoteCommandFork = 0, // Reap a renderer child. kZygoteCommandReap = 1, // Check what happened to a child process. kZygoteCommandGetTerminationStatus = 2, // Read a bitmask of kSandboxLinux* kZygoteCommandGetSandboxStatus = 3, // Not a real zygote command, but a subcommand used during the zygote fork // protocol. Sends the child's PID as seen from the browser process. kZygoteCommandForkRealPID = 4 }; } // namespace content #endif // CONTENT_COMMON_ZYGOTE_COMMANDS_LINUX_H_