Add ICU message format support
[chromium-blink-merge.git] / tools / ipc_fuzzer / message_lib / message_file_format.h
blob389d285fe08ccd47433f51c476f797bf62f7152e
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef TOOLS_IPC_FUZZER_MESSAGE_LIB_MESSAGE_FILE_FORMAT_H_
6 #define TOOLS_IPC_FUZZER_MESSAGE_LIB_MESSAGE_FILE_FORMAT_H_
8 #include "base/basictypes.h"
10 // Message file contains IPC messages and message names. Each message type
11 // has a NameTableEntry mapping the type to a name.
13 // |========================|
14 // | FileHeader |
15 // |========================|
16 // | Message |
17 // |------------------------|
18 // | Message |
19 // |------------------------|
20 // | ... |
21 // |========================|
22 // | NameTableEntry |
23 // |------------------------|
24 // | NameTableEntry |
25 // |------------------------|
26 // | ... |
27 // |------------------------|
28 // | type = 0x0002070f |
29 // | string_table_offset = ----+
30 // |------------------------| |
31 // | ... | |
32 // |========================| |
33 // | message name | |
34 // |------------------------| |
35 // | message name | |
36 // |------------------------| |
37 // | ... | |
38 // |------------------------| |
39 // | "FrameHostMsg_OpenURL" <--+
40 // |------------------------|
41 // | ... |
42 // |========================|
44 namespace ipc_fuzzer {
46 struct FileHeader {
47 static const uint32 kMagicValue = 0x1bcf11ee;
48 static const uint32 kCurrentVersion = 1;
50 uint32 magic;
51 uint32 version;
52 uint32 message_count;
53 uint32 name_count;
56 struct NameTableEntry {
57 uint32 type;
58 uint32 string_table_offset;
61 } // namespace ipc_fuzzer
63 #endif // TOOLS_IPC_FUZZER_MESSAGE_LIB_MESSAGE_FILE_FORMAT_H_