#ifndef XPCG_MSG_H_ #define XPCG_MSG_H_ #include struct type; struct msg_parameter { char *p_name; const struct type *p_type; b_queue_entry p_entry; }; struct msg_definition { char *msg_name; long long msg_id; b_queue_entry msg_entry; b_queue msg_params; b_queue msg_results; }; extern struct msg_definition *msg_definition_create( const char *name, long long id); extern void msg_definition_destroy(struct msg_definition *msg); extern bool msg_definition_has_param( struct msg_definition *msg, const char *name); extern bool msg_definition_has_result( struct msg_definition *msg, const char *name); extern int msg_definition_add_param( struct msg_definition *msg, const struct type *type, const char *name); extern int msg_definition_add_result( struct msg_definition *msg, const struct type *type, const char *name); #endif