Chromium Code Reviews| Index: mojo/edk/system/token_serializer_messages_win.h |
| diff --git a/mojo/edk/system/token_serializer_messages_win.h b/mojo/edk/system/token_serializer_messages_win.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..3de4bf4e68696851c585177668743d90e8eb4cb6 |
| --- /dev/null |
| +++ b/mojo/edk/system/token_serializer_messages_win.h |
| @@ -0,0 +1,46 @@ |
| +// Copyright 2015 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 MOJO_EDK_SYSTEM_TOKEN_SERIALIZER_MESSAGES_WIN_H_ |
| +#define MOJO_EDK_SYSTEM_TOKEN_SERIALIZER_MESSAGES_WIN_H_ |
| + |
| +#include <stdint.h> |
| + |
| +#include "base/compiler_specific.h" |
| + |
| +namespace mojo { |
| +namespace edk { |
| + |
| +// This header defines the message format between ChildTokenSerializer and |
| +// ParentTokenSerializer. |
| + |
| +enum MessageId { |
| + // The reply is two HANDLEs. |
| + CREATE_PLATFORM_CHANNEL_PAIR = 0, |
| + // The reply is tokens of the same count of passed in handles. |
| + HANDLE_TO_TOKEN, |
| + // The reply is handles of the same count of passed in tokens. |
| + TOKEN_TO_HANDLE, |
| +}; |
| + |
| +// Definitions of the raw bytes sent between ChildTokenSerializer and |
| +// ParentTokenSerializer. |
| + |
| +struct ALIGNAS(4) TokenSerializerMessage { |
|
brucedawson
2015/11/25 20:44:11
What is the purpose of the ALIGNAS(4) directive he
|
| + uint32_t size; |
| + MessageId id; |
| + // Data, if any, follows. |
| + union { |
| + HANDLE handles[1]; // If HANDLE_TO_TOKEN. |
| + uint64_t tokens[1]; // If TOKEN_TO_HANDLE. |
| + }; |
| +}; |
| + |
| +const int kTokenSerializerMessageHeaderSize = |
| + sizeof(uint32_t) + sizeof(MessageId); |
| + |
| +} // namespace edk |
| +} // namespace mojo |
| + |
| +#endif // MOJO_EDK_SYSTEM_TOKEN_SERIALIZER_MESSAGES_WIN_H_ |