15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// No include guard, may be included multiple times. 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// NULL out all the macros that need NULLing, so that multiple includes of 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// the XXXX_messages_internal.h files will not generate noise. 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#undef IPC_STRUCT_BEGIN_WITH_PARENT 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#undef IPC_STRUCT_MEMBER 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#undef IPC_STRUCT_END 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#undef IPC_STRUCT_TRAITS_BEGIN 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#undef IPC_STRUCT_TRAITS_MEMBER 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#undef IPC_STRUCT_TRAITS_PARENT 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#undef IPC_STRUCT_TRAITS_END 16868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#undef IPC_ENUM_TRAITS_VALIDATE 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#undef IPC_MESSAGE_DECL 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_STRUCT_BEGIN_WITH_PARENT(struct_name, parent) 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_STRUCT_MEMBER(type, name, ...) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_STRUCT_END() 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_STRUCT_TRAITS_BEGIN(struct_name) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_STRUCT_TRAITS_MEMBER(name) 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_STRUCT_TRAITS_PARENT(type) 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_STRUCT_TRAITS_END() 26868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#define IPC_ENUM_TRAITS_VALIDATE(enum_name, validation_expression) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_MESSAGE_DECL(sync, kind, msg_class, \ 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) in_cnt, out_cnt, in_list, out_list) 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 30