Files

45 lines
877 B
C
Raw Permalink Normal View History

#ifndef XPCG_MSG_H_
#define XPCG_MSG_H_
#include <fx/core/queue.h>
struct type;
struct msg_parameter {
char *p_name;
const struct type *p_type;
fx_queue_entry p_entry;
};
struct msg_definition {
char *msg_name;
long long msg_id;
fx_queue_entry msg_entry;
fx_queue msg_params;
fx_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