blob: cdecf916020da52d24a1940874b85baec01a3039 [file] [log] [blame]
// Copyright 2014 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_PUBLIC_CPP_BINDINGS_LIB_MESSAGE_INTERNAL_H_
#define MOJO_PUBLIC_CPP_BINDINGS_LIB_MESSAGE_INTERNAL_H_
#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
namespace mojo {
namespace internal {
#pragma pack(push, 1)
enum { kMessageExpectsResponse = 1 << 0, kMessageIsResponse = 1 << 1 };
struct MessageHeader : internal::StructHeader {
uint32_t name;
uint32_t flags;
};
static_assert(sizeof(MessageHeader) == 16, "Bad sizeof(MessageHeader)");
struct MessageHeaderWithRequestID : MessageHeader {
uint64_t request_id;
};
static_assert(sizeof(MessageHeaderWithRequestID) == 24,
"Bad sizeof(MessageHeaderWithRequestID)");
struct MessageData {
MessageHeader header;
};
static_assert(sizeof(MessageData) == sizeof(MessageHeader),
"Bad sizeof(MessageData)");
#pragma pack(pop)
} // namespace internal
} // namespace mojo
#endif // MOJO_PUBLIC_CPP_BINDINGS_LIB_MESSAGE_INTERNAL_H_