12 #ifndef _gcs_backend_h_
13 #define _gcs_backend_h_
16 #include "gcs_recv_msg.h"
18 #include <galerautils.h>
30 #define GCS_BACKEND_REGISTER_FN(fn) \
31 void fn (gu_config_t* cnf)
34 #define GCS_BACKEND_CREATE_FN(fn) \
35 long fn (gcs_backend_t* backend, \
36 const char* const addr, \
37 gu_config_t* const cnf)
40 #define GCS_BACKEND_DESTROY_FN(fn) \
41 long fn (gcs_backend_t* backend)
44 #define GCS_BACKEND_OPEN_FN(fn) \
45 long fn (gcs_backend_t* backend, \
46 const char* const channel, \
50 #define GCS_BACKEND_CLOSE_FN(fn) \
51 long fn (gcs_backend_t* backend)
69 #define GCS_BACKEND_SEND_FN(fn) \
70 long fn (gcs_backend_t* const backend, \
71 const void* const buf, \
73 gcs_msg_type_t const msg_type)
96 #define GCS_BACKEND_RECV_FN(fn) \
97 long fn (gcs_backend_t* const backend, \
98 gcs_recv_msg_t* const msg, \
99 long long const timeout)
102 static const long GCS_SENDER_NONE = -1;
105 #define GCS_BACKEND_NAME_FN(fn) \
106 const char* fn (void)
123 #define GCS_BACKEND_MSG_SIZE_FN(fn) \
124 long fn (gcs_backend_t* const backend, \
137 #define GCS_BACKEND_PARAM_SET_FN(fn) \
138 long fn (gcs_backend_t* backend, \
149 #define GCS_BACKEND_PARAM_GET_FN(fn) \
150 const char* fn (gcs_backend_t* backend, \
153 typedef GCS_BACKEND_CREATE_FN ((*gcs_backend_create_t));
154 typedef GCS_BACKEND_DESTROY_FN ((*gcs_backend_destroy_t));
155 typedef GCS_BACKEND_OPEN_FN ((*gcs_backend_open_t));
156 typedef GCS_BACKEND_CLOSE_FN ((*gcs_backend_close_t));
157 typedef GCS_BACKEND_SEND_FN ((*gcs_backend_send_t));
158 typedef GCS_BACKEND_RECV_FN ((*gcs_backend_recv_t));
159 typedef GCS_BACKEND_NAME_FN ((*gcs_backend_name_t));
160 typedef GCS_BACKEND_MSG_SIZE_FN ((*gcs_backend_msg_size_t));
161 typedef GCS_BACKEND_PARAM_SET_FN ((*gcs_backend_param_set_t));
162 typedef GCS_BACKEND_PARAM_GET_FN ((*gcs_backend_param_get_t));
167 gcs_backend_open_t open;
168 gcs_backend_close_t close;
169 gcs_backend_destroy_t destroy;
170 gcs_backend_send_t send;
171 gcs_backend_recv_t recv;
172 gcs_backend_name_t name;
173 gcs_backend_msg_size_t msg_size;
174 gcs_backend_param_set_t param_set;
175 gcs_backend_param_get_t param_get;
182 gcs_backend_register(gu_config_t* conf);
Definition: gcs_dummy.c:76
Definition: gcs_backend.h:164