3 /* messaging - high level communication (send/receive messages) */
5 /* module's private interface masked even to other parts of GRAS. */
7 /* Authors: Martin Quinson */
8 /* Copyright (C) 2003, 2004 Martin Quinson. */
10 /* This program is free software; you can redistribute it and/or modify it
11 under the terms of the license (GNU LGPL) which comes with this package. */
13 #ifndef GRAS_MESSAGE_PRIVATE_H
14 #define GRAS_MESSAGE_PRIVATE_H
16 #include "gras_private.h"
17 #include "Msg/msg_interface.h"
22 * Message type descriptor. There one of these for each registered version.
24 struct s_gras_msgtype {
25 /* headers for the data set */
28 unsigned int name_len;
32 gras_datadesc_type_t *ctn_type;
35 extern gras_set_t *_gras_msgtype_set; /* of gras_msgtype_t */
36 void gras_msgtype_free(void *msgtype);
39 gras_error_t gras_msg_recv(gras_socket_t *sock,
40 gras_msgtype_t **msgtype,
47 * association between msg ID and cb list for a given process
49 struct s_gras_cblist {
51 gras_dynar_t *cbs; /* of gras_msg_cb_t */
54 void gras_cblist_free(void *cbl);
56 #endif /* GRAS_MESSAGE_PRIVATE_H */