| // Copyright 2013 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 TOOLS_IPC_FUZZER_MESSAGE_LIB_MESSAGE_FILE_FORMAT_H_ |
| #define TOOLS_IPC_FUZZER_MESSAGE_LIB_MESSAGE_FILE_FORMAT_H_ |
| |
| #include <stdint.h> |
| |
| // Message file contains IPC messages and message names. Each message type |
| // has a NameTableEntry mapping the type to a name. |
| // |
| // |========================| |
| // | FileHeader | |
| // |========================| |
| // | Message | |
| // |------------------------| |
| // | Message | |
| // |------------------------| |
| // | ... | |
| // |========================| |
| // | NameTableEntry | |
| // |------------------------| |
| // | NameTableEntry | |
| // |------------------------| |
| // | ... | |
| // |------------------------| |
| // | type = 0x0002070f | |
| // | string_table_offset = ----+ |
| // |------------------------| | |
| // | ... | | |
| // |========================| | |
| // | message name | | |
| // |------------------------| | |
| // | message name | | |
| // |------------------------| | |
| // | ... | | |
| // |------------------------| | |
| // | "FrameHostMsg_OpenURL" <--+ |
| // |------------------------| |
| // | ... | |
| // |========================| |
| |
| namespace ipc_fuzzer { |
| |
| struct FileHeader { |
| static const uint32_t kMagicValue = 0x1bcf11ee; |
| static const uint32_t kCurrentVersion = 1; |
| |
| uint32_t magic; |
| uint32_t version; |
| uint32_t message_count; |
| uint32_t name_count; |
| }; |
| |
| struct NameTableEntry { |
| uint32_t type; |
| uint32_t string_table_offset; |
| }; |
| |
| } // namespace ipc_fuzzer |
| |
| #endif // TOOLS_IPC_FUZZER_MESSAGE_LIB_MESSAGE_FILE_FORMAT_H_ |