OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // IPC messages used by the attachment broker. | 5 // IPC messages used by the attachment broker. |
6 // Multiply-included message file, hence no include guard. | 6 // Multiply-included message file, hence no include guard. |
7 | 7 |
8 #include "base/process/process_handle.h" | 8 #include "base/process/process_handle.h" |
9 #include "ipc/brokerable_attachment.h" | 9 #include "ipc/brokerable_attachment.h" |
10 #include "ipc/ipc_export.h" | 10 #include "ipc/ipc_export.h" |
11 #include "ipc/ipc_message_macros.h" | 11 #include "ipc/ipc_message_macros.h" |
12 | 12 |
13 #if defined(OS_WIN) | 13 #if defined(OS_WIN) |
14 #include "ipc/handle_attachment_win.h" | 14 #include "ipc/handle_attachment_win.h" |
15 #endif // defined(OS_WIN) | 15 #endif // defined(OS_WIN) |
16 | 16 |
17 // ---------------------------------------------------------------------------- | 17 // ---------------------------------------------------------------------------- |
18 // Serialization of structs. | 18 // Serialization of structs. |
19 // ---------------------------------------------------------------------------- | 19 // ---------------------------------------------------------------------------- |
20 | 20 |
21 #if defined(OS_WIN) | 21 #if defined(OS_WIN) |
| 22 // Define the serialization for Permissions. |
| 23 IPC_ENUM_TRAITS_MAX_VALUE(HandleWin::Permissions, HandleWin::MAX_PERMISSIONS); |
| 24 |
22 IPC_STRUCT_TRAITS_BEGIN(IPC::internal::HandleAttachmentWin::WireFormat) | 25 IPC_STRUCT_TRAITS_BEGIN(IPC::internal::HandleAttachmentWin::WireFormat) |
23 IPC_STRUCT_TRAITS_MEMBER(handle) | 26 IPC_STRUCT_TRAITS_MEMBER(handle) |
24 IPC_STRUCT_TRAITS_MEMBER(destination_process) | 27 IPC_STRUCT_TRAITS_MEMBER(destination_process) |
| 28 IPC_STRUCT_TRAITS_MEMBER(permissions) |
25 IPC_STRUCT_TRAITS_MEMBER(attachment_id) | 29 IPC_STRUCT_TRAITS_MEMBER(attachment_id) |
26 IPC_STRUCT_TRAITS_END() | 30 IPC_STRUCT_TRAITS_END() |
27 #endif // defined(OS_WIN) | 31 #endif // defined(OS_WIN) |
28 | 32 |
29 #undef IPC_MESSAGE_EXPORT | 33 #undef IPC_MESSAGE_EXPORT |
30 #define IPC_MESSAGE_EXPORT IPC_EXPORT | 34 #define IPC_MESSAGE_EXPORT IPC_EXPORT |
31 #define IPC_MESSAGE_START AttachmentBrokerMsgStart | 35 #define IPC_MESSAGE_START AttachmentBrokerMsgStart |
32 | 36 |
33 // ---------------------------------------------------------------------------- | 37 // ---------------------------------------------------------------------------- |
34 // Messages sent from the broker to a non-broker process. | 38 // Messages sent from the broker to a non-broker process. |
(...skipping 13 matching lines...) Expand all Loading... |
48 // ---------------------------------------------------------------------------- | 52 // ---------------------------------------------------------------------------- |
49 | 53 |
50 #if defined(OS_WIN) | 54 #if defined(OS_WIN) |
51 // Sent from a non-broker to a broker to request the duplication of a HANDLE | 55 // Sent from a non-broker to a broker to request the duplication of a HANDLE |
52 // into a different process (possibly the broker process, or even the original | 56 // into a different process (possibly the broker process, or even the original |
53 // process). | 57 // process). |
54 IPC_MESSAGE_CONTROL1( | 58 IPC_MESSAGE_CONTROL1( |
55 AttachmentBrokerMsg_DuplicateWinHandle, | 59 AttachmentBrokerMsg_DuplicateWinHandle, |
56 IPC::internal::HandleAttachmentWin::WireFormat /* wire_format */) | 60 IPC::internal::HandleAttachmentWin::WireFormat /* wire_format */) |
57 #endif // defined(OS_WIN) | 61 #endif // defined(OS_WIN) |
OLD | NEW |