NAME
evs_join - Joins one or more groups in the EVS library
SYNOPSIS
#include <openais/evs.h>
int evs_join(evs_handle_t handle, evs_group_t *groups, int
group_entries);
DESCRIPTION
The evs_join function is used to join one or more groups. When a group
is joined, using the evs_mcast_joined(3) function will multicast to the
groups joined in the argument handle. Messages that are sent to any of
the groups joined to the parameter handle will be delivered by
evs_dispatch(3).
This call may be used more then once on a handle, in which case the
joined groups will be all of the groups passed to the evs_join(3)
function during the lifecycle of the parameter handle.
The argument groups is used to specify the groups to join. A group is
a 32 byte key. The key is not a string, hence, the entire key is used
when joining the channel. For that reason the entire group should be
initialized.
The argument group_entries specifies how many entries are located in
the groups argument.
The groups argument is of the type evs_group_t which is defined by the
structure:
typedef struct {
char key[32];
} evs_groups_t;
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_initialize(3), evs_finalize(3), evs_fd_get(3),
evs_dispatch(3), evs_leave(3), evs_mcast_joined(3),
evs_mcast_groups(3), evs_mmembership_get(3)