Joins one or more groups in the evs library
#include <corosync/evs.h>
int evs_join(evs_handle_t handle, evs_group_t *groups, int group_entries);
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;
This call returns the EVS_OK value if successful, otherwise an error is returned.
The errors are undocumented.