35#ifndef IPC_CPG_H_DEFINED
36#define IPC_CPG_H_DEFINED
38#include <netinet/in.h>
39#include <qb/qbipc_common.h>
121 swab_mar_uint32_t (&
to_swab->length);
129static inline void marshall_from_mar_cpg_name_t (
142static inline void marshall_to_mar_cpg_name_t (
164static inline void marshall_from_mar_cpg_address_t (
178static inline void marshall_to_mar_cpg_address_t (
193static inline int mar_name_compare (
197 return (
g1->length ==
g2->length?
199 g1->length -
g2->length);
216static inline void marshall_from_mar_cpg_iteration_description_t(
222 marshall_from_mar_cpg_name_t (&
dest->group, &
src->group);
238static inline void marshall_from_mar_cpg_ring_id_t (
unsigned int nodeid
the ID of the node whose info needs updating
#define PROCESSOR_COUNT_MAX
#define CPG_MAX_NAME_LENGTH
lib_cpg_partial_types
The lib_cpg_partial_types enum.
@ LIBCPG_PARTIAL_CONTINUED
req_cpg_types
The req_cpg_types enum.
@ MESSAGE_REQ_CPG_LOCAL_GET
@ MESSAGE_REQ_CPG_ITERATIONFINALIZE
@ MESSAGE_REQ_CPG_PARTIAL_MCAST
@ MESSAGE_REQ_CPG_ITERATIONINITIALIZE
@ MESSAGE_REQ_CPG_FINALIZE
@ MESSAGE_REQ_CPG_MEMBERSHIP
@ MESSAGE_REQ_CPG_ITERATIONNEXT
res_cpg_types
The res_cpg_types enum.
@ MESSAGE_RES_CPG_ITERATIONFINALIZE
@ MESSAGE_RES_CPG_MEMBERSHIP
@ MESSAGE_RES_CPG_PARTIAL_DELIVER_CALLBACK
@ MESSAGE_RES_CPG_FINALIZE
@ MESSAGE_RES_CPG_DELIVER_CALLBACK
@ MESSAGE_RES_CPG_TOTEM_CONFCHG_CALLBACK
@ MESSAGE_RES_CPG_ITERATIONNEXT
@ MESSAGE_RES_CPG_CONFCHG_CALLBACK
@ MESSAGE_RES_CPG_FLOWCONTROL_CALLBACK
@ MESSAGE_RES_CPG_PARTIAL_SEND
@ MESSAGE_RES_CPG_ITERATIONINITIALIZE
@ MESSAGE_RES_CPG_LOCAL_GET
@ MESSAGE_RES_CPG_FLOW_CONTROL_STATE_SET
lib_cpg_confchg_reason
The lib_cpg_confchg_reason enum.
@ CONFCHG_CPG_REASON_LEAVE
@ CONFCHG_CPG_REASON_PROCDOWN
@ CONFCHG_CPG_REASON_NODEUP
@ CONFCHG_CPG_REASON_JOIN
@ CONFCHG_CPG_REASON_NODEDOWN
The cpg_iteration_description_t struct.
mar_uint32_t nodeid __attribute__((aligned(8)))
mar_uint32_t pid __attribute__((aligned(8)))
mar_uint32_t reason __attribute__((aligned(8)))
mar_cpg_iteration_description_t struct
char value[CPG_MAX_NAME_LENGTH] __attribute__((aligned(8)))
uint32_t length __attribute__((aligned(8)))
mar_uint64_t seq __attribute__((aligned(8)))
mar_uint32_t nodeid __attribute__((aligned(8)))
The req_lib_cpg_finalize struct.
The req_lib_cpg_iterationfinalize struct.
hdb_handle_t iteration_handle __attribute__((aligned(8)))
The req_lib_cpg_iterationinitialize struct.
mar_cpg_name_t group_name __attribute__((aligned(8)))
mar_uint32_t iteration_type __attribute__((aligned(8)))
The req_lib_cpg_iterationnext struct.
hdb_handle_t iteration_handle __attribute__((aligned(8)))
The req_lib_cpg_join struct.
mar_cpg_name_t group_name __attribute__((aligned(8)))
mar_uint32_t pid __attribute__((aligned(8)))
mar_uint32_t flags __attribute__((aligned(8)))
The req_lib_cpg_leave struct.
mar_uint32_t pid __attribute__((aligned(8)))
mar_cpg_name_t group_name __attribute__((aligned(8)))
The req_lib_cpg_local_get struct.
The req_lib_cpg_mcast struct.
mar_uint32_t guarantee __attribute__((aligned(8)))
mar_uint32_t msglen __attribute__((aligned(8)))
mar_uint8_t message[] __attribute__((aligned(8)))
The req_lib_cpg_membership_get struct.
mar_cpg_name_t group_name __attribute__((aligned(8)))
The req_lib_cpg_partial_mcast struct.
mar_uint32_t msglen __attribute__((aligned(8)))
mar_uint32_t guarantee __attribute__((aligned(8)))
mar_uint8_t message[] __attribute__((aligned(8)))
mar_uint32_t type __attribute__((aligned(8)))
mar_uint32_t fraglen __attribute__((aligned(8)))
The res_lib_cpg_confchg_callback struct.
mar_cpg_address_t member_list[]
mar_cpg_name_t group_name __attribute__((aligned(8)))
mar_uint32_t member_list_entries __attribute__((aligned(8)))
mar_uint32_t left_list_entries __attribute__((aligned(8)))
mar_uint32_t joined_list_entries __attribute__((aligned(8)))
Message from another node.
mar_uint32_t nodeid __attribute__((aligned(8)))
mar_cpg_name_t group_name __attribute__((aligned(8)))
mar_uint32_t msglen __attribute__((aligned(8)))
mar_uint32_t pid __attribute__((aligned(8)))
mar_uint8_t message[] __attribute__((aligned(8)))
The res_lib_cpg_finalize struct.
The res_lib_cpg_flowcontrol_callback struct.
mar_uint32_t flow_control_state __attribute__((aligned(8)))
The res_lib_cpg_iterationfinalize struct.
The res_lib_cpg_iterationinitialize struct.
hdb_handle_t iteration_handle __attribute__((aligned(8)))
The res_lib_cpg_iterationnext struct.
mar_cpg_iteration_description_t description __attribute__((aligned(8)))
The res_lib_cpg_join struct.
The res_lib_cpg_leave struct.
The res_lib_cpg_local_get struct.
mar_uint32_t local_nodeid __attribute__((aligned(8)))
The res_lib_cpg_mcast struct.
The res_lib_cpg_membership_get struct.
mar_uint32_t member_count __attribute__((aligned(8)))
mar_cpg_address_t member_list[PROCESSOR_COUNT_MAX]
The res_lib_cpg_null struct.
The res_lib_cpg_partial_deliver_callback struct.
mar_uint32_t pid __attribute__((aligned(8)))
mar_uint32_t nodeid __attribute__((aligned(8)))
mar_uint32_t fraglen __attribute__((aligned(8)))
mar_uint32_t type __attribute__((aligned(8)))
mar_cpg_name_t group_name __attribute__((aligned(8)))
mar_uint32_t msglen __attribute__((aligned(8)))
mar_uint8_t message[] __attribute__((aligned(8)))
The res_lib_cpg_partial_send struct.
The res_lib_cpg_totem_confchg_callback struct.
mar_uint32_t member_list[]
mar_cpg_ring_id_t ring_id __attribute__((aligned(8)))
mar_uint32_t member_list_entries __attribute__((aligned(8)))
struct memb_ring_id ring_id
struct totem_message_header header