11 #ifndef _gcs_component_h_
12 #define _gcs_component_h_
18 #define GCS_COMP_MEMB_ID_MAX_LEN GU_UUID_STR_LEN
21 typedef uint8_t gcs_segment_t;
25 char id[GCS_COMP_MEMB_ID_MAX_LEN + 1];
30 #ifdef GCS_COMP_MSG_ACCESS
31 typedef struct gcs_comp_msg
42 typedef struct gcs_comp_msg gcs_comp_msg_t;
52 extern gcs_comp_msg_t*
53 gcs_comp_msg_new (
bool prim,
bool bootstrap,
int my_idx,
int memb_num);
56 extern gcs_comp_msg_t*
57 gcs_comp_msg_leave ();
61 gcs_comp_msg_delete (gcs_comp_msg_t* comp);
69 gcs_comp_msg_add (gcs_comp_msg_t* comp,
const char*
id,
70 gcs_segment_t segment);
74 gcs_comp_msg_size (
const gcs_comp_msg_t* comp);
77 extern gcs_comp_msg_t*
78 gcs_comp_msg_copy (
const gcs_comp_msg_t* comp);
82 gcs_comp_msg_member (
const gcs_comp_msg_t* comp,
int idx);
86 gcs_comp_msg_idx (
const gcs_comp_msg_t* comp,
const char*
id);
90 gcs_comp_msg_primary (
const gcs_comp_msg_t* comp);
94 gcs_comp_msg_bootstrap(
const gcs_comp_msg_t* comp);
98 gcs_comp_msg_self (
const gcs_comp_msg_t* comp);
102 gcs_comp_msg_num (
const gcs_comp_msg_t* comp);
gcs_segment_t segment
ID assigned by the backend.
Definition: gcs_comp_msg.h:26
Definition: gcs_comp_msg.h:23