Index: mojo/edk/system/broker_messages.h |
diff --git a/mojo/edk/system/broker_messages.h b/mojo/edk/system/broker_messages.h |
index 0ce0960d685b9fadc8e0cb5c1c0c7adf936bfd2c..f7616c13d0782b118e8cb1a2662878514f954a6c 100644 |
--- a/mojo/edk/system/broker_messages.h |
+++ b/mojo/edk/system/broker_messages.h |
@@ -29,21 +29,37 @@ enum WindowsSandboxMessages { |
TOKEN_TO_HANDLE, |
}; |
+#else |
+// Sandbox processes need the parent's help to create shared buffers. |
+enum PosixSandboxMessages { |
+ // The reply is a PlatformHandle. |
+ CREATE_SHARED_BUFFER = 0 |
+}; |
+#endif |
+ |
// Definitions of the raw bytes sent in messages. |
struct BrokerMessage { |
uint32_t size; |
+#if defined(OS_WIN) |
WindowsSandboxMessages id; |
// Data, if any, follows. |
union { |
HANDLE handles[1]; // If HANDLE_TO_TOKEN. |
uint64_t tokens[1]; // If TOKEN_TO_HANDLE. |
}; |
-}; |
+#else |
+ PosixSandboxMessages id; |
-const int kBrokerMessageHeaderSize = |
- sizeof(uint32_t) + sizeof(WindowsSandboxMessages); |
+ uint32_t num_bytes; // Size of the shared buffer to create. |
+#endif |
+}; |
+const int kBrokerMessageHeaderSize = sizeof(uint32_t) + |
+#if defined(OS_WIN) |
+ sizeof(WindowsSandboxMessages); |
+#else |
+ sizeof(PosixSandboxMessages); |
#endif |
// Route id used for messages between ChildBroker and ChildBrokerHost. |