43 #ifndef TOTEMSRP_H_DEFINED 44 #define TOTEMSRP_H_DEFINED 47 #include <qb/qbloop.h> 53 qb_loop_t *poll_handle,
62 int endian_conversion_required),
65 const unsigned int *member_list,
size_t member_list_entries,
66 const unsigned int *left_list,
size_t left_list_entries,
67 const unsigned int *joined_list,
size_t joined_list_entries,
69 void (*waiting_trans_ack_cb_fn) (
107 unsigned int *interface_id,
109 unsigned int interfaces_size,
111 unsigned int *iface_count);
121 const char *cipher_type,
122 const char *hash_type);
126 void (*totem_service_ready) (
void));
131 unsigned short ip_port,
132 unsigned int iface_no);
152 struct totem_config *totem_config);
155 void *srp_context,
int flags);
int totemsrp_member_remove(void *srp_context, const struct totem_ip_address *member, int ring_no)
uint32_t waiting_trans_ack
The totem_ip_address struct.
void totemsrp_service_ready_register(void *srp_context, void(*totem_service_ready)(void))
void totemsrp_finalize(void *srp_context)
totem_configuration_type
The totem_configuration_type enum.
int totemsrp_iface_set(void *srp_context, const struct totem_ip_address *interface_addr, unsigned short ip_port, unsigned int iface_no)
int totemsrp_initialize(qb_loop_t *poll_handle, void **srp_context, struct totem_config *totem_config, totempg_stats_t *stats, void(*deliver_fn)(unsigned int nodeid, const void *msg, unsigned int msg_len, int endian_conversion_required), void(*confchg_fn)(enum totem_configuration_type configuration_type, const unsigned int *member_list, size_t member_list_entries, const unsigned int *left_list, size_t left_list_entries, const unsigned int *joined_list, size_t joined_list_entries, const struct memb_ring_id *ring_id), void(*waiting_trans_ack_cb_fn)(int waiting_trans_ack))
Create a protocol instance.
void totemsrp_trans_ack(void *srp_context)
int totemsrp_crypto_set(void *srp_context, const char *cipher_type, const char *hash_type)
int totemsrp_mcast(void *srp_context, struct iovec *iovec, unsigned int iov_len, int priority)
Multicast a message.
int totemsrp_avail(void *srp_context)
Return number of available messages that can be queued.
unsigned int totemsrp_my_nodeid_get(void *srp_context)
void totemsrp_callback_token_destroy(void *srp_context, void **handle_out)
int totemsrp_ifaces_get(void *srp_context, unsigned int nodeid, unsigned int *interface_id, struct totem_ip_address *interfaces, unsigned int interfaces_size, char ***status, unsigned int *iface_count)
int totemsrp_member_add(void *srp_context, const struct totem_ip_address *member, int ring_no)
void totemsrp_event_signal(void *srp_context, enum totem_event_type type, int value)
void totemsrp_stats_clear(void *srp_context, int flags)
int totemsrp_callback_token_create(void *srp_context, void **handle_out, enum totem_callback_token_type type, int delete, int(*callback_fn)(enum totem_callback_token_type type, const void *), const void *data)
int totemsrp_reconfigure(void *context, struct totem_config *totem_config)
void totemsrp_force_gather(void *context)
int totemsrp_my_family_get(void *srp_context)
struct memb_ring_id ring_id
void totemsrp_threaded_mode_enable(void *srp_context)
totem_callback_token_type
The totem_callback_token_type enum.
void totemsrp_net_mtu_adjust(struct totem_config *totem_config)