QUORUM_INITIALIZE(3) Corosync Cluster Engine Programmer's Manual QUORUM_INITIALIZE(3)
NAME
quorum_initialize - Create a new connection to the Quorum service
SYNOPSIS
#include <corosync/quorum.h>
int quorum_initialize(quorum_handle_t *handle, quorum_callbacks_t *callbacks, uint32_t *quorum_type);
DESCRIPTION
The quorum_initialize function is used to initialize a connection to the quorum API.
Each application may have several connections to the quorum API. Each application uses the handle argument to uniquely identify the con-
nection. The handle argument is then used in other function calls to identify the connection to be used for communication with the quorum
service.
Every time the voting configuraton changes (eg a node joins or leave the cluster) or the quorum status change, the callback is called. The
callback function is described by the following type definitions:
typedef void (*quorum_notification_fn_t) (
quorum_handle_t handle,
uint32_t quorate,
uint64_t ring_seq,
uint32_t view_list_entries,
uint32_t *view_list
);
The callbacks argument is of the type:
typedef struct {
quorum_notification_fn_t quorum_notify_fn;
} quorum_callbacks_t;
The quorum_type argument is set to:
#define QUORUM_FREE 0
#define QUORUM_SET 1
QUORUM_FREE value means that no quorum algorithm is loaded and that no callbacks will take place.
QUORUM_SET value means that one quorum algorithm is configured and that callbacks will take place.
When a configuration change occurs, the callback is called from the quorum_dispatch() function.
RETURN VALUE
This call returns the CS_OK value if successful, otherwise an error is returned.
ERRORS
CS_ERR_TRY_AGAIN Resource temporarily unavailable
CS_ERR_INVALID_PARAM Invalid argument
CS_ERR_ACCESS Permission denied
CS_ERR_LIBRARY The connection failed
CS_ERR_INTERRUPT System call inturrupted by a signal
CS_ERR_NOT_SUPPORTED The requested protocol/functuality not supported
CS_ERR_MESSAGE_ERROR Incorrect auth message received
CS_ERR_NO_MEMORY Not enough memory to completed the requested task
SEE ALSO
quorum_overview(8), quorum_finalize(3), quorum_getquorate(3), quorum_trackstart(3), quorum_trackstop(3), quorum_fd_get(3), quorum_dis-
patch(3), quorum_context_set(3), quorum_context_get(3)
corosync Man Page 2014-06-10 QUORUM_INITIALIZE(3)