#define TOTEMIP_ADDRLEN (sizeof(struct in6_addr))
/** These are the things that get passed around */
-struct evs_address {
- unsigned int nodeid;
- unsigned short family;
- unsigned char addr[TOTEMIP_ADDRLEN];
-};
-
struct evs_group {
char key[32];
};
size_t msg_len);
typedef void (*evs_confchg_fn_t) (
- unsigned int *member_list, size_t member_list_entries,
- unsigned int *left_list, size_t left_list_entries,
- unsigned int *joined_list, size_t joined_list_entries);
+ 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);
typedef struct {
evs_deliver_fn_t evs_deliver_fn;
.nf
.ta 4n 20n 32n
typedef void (*evs_deliver_fn_t) (
- struct evs_address source_addr,
+ unsigned int nodeid,
const void *msg,
size_t msg_len);
typedef void (*evs_confchg_fn_t) (
- const struct evs_address *member_list, size_t member_list_entries,
- const struct evs_address *left_list, size_t left_list_entries,
- const struct evs_address *joined_list, size_t joined_list_entries);
+ unsigned int *member_list, size_t member_list_entries,
+ unsigned int *left_list, size_t left_list_entries,
+ unsigned int *joined_list, size_t joined_list_entries);
.ta
.fi
.RE
.I evs_deliver_fn
is called.
-The
-.I evs_address
-structure is defined
-.IP
-.RS
-.ne 18
-.nf
-.PP
-struct evs_address {
- unsigned int nodeid;
- unsigned short family;
- unsigned char addr[TOTEMIP_ADDRLEN];
-};
-.ta
-.fi
-.RE
-.IP
-.PP
-where nodeid is a 32 bit unique node identifier, family is of the value AF_INET for an IPV4 network, or AF_INET6 for an IPV6 network, and addr is a 32 bit address for an IPV4 network, or 128 bit address for an IPV6 network.
-
-
.SH RETURN VALUE
This call returns the EVS_OK value if successful, otherwise an error is returned.
.PP
.SH SYNOPSIS
.B #include <corosync/evs.h>
.sp
-.BI "int evs_membership_get(evs_handle_t " handle ", struct evs_address *" local_addr ", struct evs_address *" member_list ", int *" member_list_entries ");
+.BI "int evs_membership_get(evs_handle_t " handle ", unsigned int *" local_nodeid ", unsigned int *" member_list ", int *" member_list_entries ");
.SH DESCRIPTION
The
.B evs_membership_get
.I handle
is used to reference the evs instantiation.
The argument
-.I local_addr
-will return the local address of the processor.
+.I local_nodeid
+will return the local node id of the processor.
The argument
.I member_list
will return the list of processors in the current membership.
}
static void evs_confchg_fn (
- unsigned int *member_list, size_t member_list_entries,
- unsigned int *left_list, size_t left_list_entries,
- unsigned int *joined_list, size_t joined_list_entries)
+ 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)
{
int i;
}
static void evs_confchg_fn (
- unsigned int *member_list, size_t member_list_entries,
- unsigned int *left_list, size_t left_list_entries,
- unsigned int *joined_list, size_t joined_list_entries)
+ 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)
{
int i;