43#ifndef TOTEMPG_H_DEFINED
44#define TOTEMPG_H_DEFINED
51#include <netinet/in.h>
60#define TOTEMPG_AGREED 0
67 qb_loop_t* poll_handle,
91 int endian_conversion_required),
95 const unsigned int *member_list,
size_t member_list_entries,
96 const unsigned int *left_list,
size_t left_list_entries,
97 const unsigned int *joined_list,
size_t joined_list_entries,
114 const struct iovec *iovec,
115 unsigned int iov_len,
120 const struct iovec *iovec,
121 unsigned int iov_len);
131 const struct iovec *iovec,
132 unsigned int iov_len);
138 const struct iovec *iovec,
139 unsigned int iov_len);
143 unsigned int *interface_id,
145 unsigned int interfaces_size,
147 unsigned int *iface_count);
165 void (*totem_service_ready) (
void));
169 unsigned short ip_port,
170 unsigned int iface_no);
totem_configuration_type
The totem_configuration_type enum.
totem_callback_token_type
The totem_callback_token_type enum.
The totem_ip_address struct.
cfg_message_crypto_reconfig_phase_t
int totempg_my_family_get(void)
unsigned int totempg_my_nodeid_get(void)
int totempg_callback_token_create(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)
const char * totempg_ifaces_print(unsigned int nodeid)
int totempg_crypto_set(const char *cipher_type, const char *hash_type)
void totempg_get_config(struct totem_config *config)
void(* totem_queue_level_changed_fn)(enum totem_q_level level)
void totempg_queue_level_register_callback(totem_queue_level_changed_fn)
int totempg_iface_set(struct totem_ip_address *interface_addr, unsigned short ip_port, unsigned int iface_no)
int totempg_nodestatus_get(unsigned int nodeid, struct totem_node_status *node_status)
void totempg_put_config(struct totem_config *config)
int totempg_reconfigure(void)
void totempg_check_q_level(void *instance)
int totempg_groups_leave(void *instance, const struct totempg_group *groups, size_t group_cnt)
int totempg_groups_finalize(void *instance)
int totempg_crypto_reconfigure_phase(cfg_message_crypto_reconfig_phase_t phase)
void totempg_callback_token_destroy(void *handle)
int totempg_groups_mcast_joined(void *instance, const struct iovec *iovec, unsigned int iov_len, int guarantee)
void totempg_trans_ack(void)
void totempg_force_gather(void)
int totempg_member_remove(const struct totem_ip_address *member, int ring_no)
int totempg_initialize(qb_loop_t *poll_handle, struct totem_config *totem_config)
Initialize the totem process groups abstraction.
int totempg_groups_joined_release(int msg_count)
void totempg_service_ready_register(void(*totem_service_ready)(void))
int totempg_ifaces_get(unsigned int nodeid, unsigned int *interface_id, struct totem_ip_address *interfaces, unsigned int interfaces_size, char ***status, unsigned int *iface_count)
int totempg_groups_joined_reserve(void *instance, const struct iovec *iovec, unsigned int iov_len)
int totempg_groups_join(void *instance, const struct totempg_group *groups, size_t group_cnt)
int totempg_groups_mcast_groups(void *instance, int guarantee, const struct totempg_group *groups, size_t groups_cnt, const struct iovec *iovec, unsigned int iov_len)
void totempg_event_signal(enum totem_event_type type, int value)
void totempg_finalize(void)
int totempg_groups_send_ok_groups(void *instance, const struct totempg_group *groups, size_t groups_cnt, const struct iovec *iovec, unsigned int iov_len)
void * totempg_get_stats(void)
int totempg_groups_initialize(void **instance, 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))
Initialize a groups instance.
void totempg_threaded_mode_enable(void)
int totempg_member_add(const struct totem_ip_address *member, int ring_no)
struct memb_ring_id ring_id