EVS_INITIALIZE(3) Corosync Cluster Engine Programmer's Manual EVS_INITIALIZE(3)
NAME
evs_initialize - Create a new connection to the EVS service
SYNOPSIS
#include <corosync/evs.h>
int evs_initialize(evs_handle_t *handle, evs_callbacks_t *callbacks);
DESCRIPTION
The evs_initialize function is used to initialize a connection to the extended virtual synchrony API.
Each application may have several connections to the EVS API. Each application uses the handle argument to uniquely identify the connec-
tion. The handle argument is then used in other function calls to identify the connection to be used for communication with the EVS ser-
vice.
Every time an EVS event occurs, one of the callbacks specified by the argument callbacks is called. The callback functions are described
by the following type definitions:
typedef void (*evs_deliver_fn_t) (
unsigned int nodeid,
const void *msg,
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);
The callbacks argument is of the type:
typedef struct {
evs_deliver_fn_t evs_deliver_fn;
evs_confchg_fn_t evs_confchg_fn;
} evs_callbacks_t;
When a configuration change occurs or a message is to be delivered one of the callbacks is called from the evs_dispatch() function. If a
configuration change occurs, evs_confchg_fn is called. If a delivery of a message occurs, evs_deliver_fn is called.
RETURN VALUE
This call returns the EVS_OK value if successful, otherwise an error is returned.
ERRORS
The errors are undocumented.
SEE ALSO
evs_overview(8), evs_finalize(3), evs_fd_get(3), evs_dispatch(3), evs_join(3), evs_leave(3), evs_mcast_joined(3), evs_mcast_groups(3),
evs_mmembership_get(3) evs_context_get(3) evs_context_set(3)
corosync Man Page 2004-08-31 EVS_INITIALIZE(3)