QUORUM_INITIALIZE(3) Corosync Cluster Engine Programmer's Manual
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
connection. 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 configuration 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 interrupted by a signal
CS_ERR_NOT_SUPPORTED The requested protocol/functionality not
supported
CS_ERR_MESSAGE_ERROR Incorrect auth message received
CS_ERR_NO_MEMORY Not enough memory to complete 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_dispatch(3),
quorum_context_set(3),
quorum_context_get(3)corosync Man Page 2023-07-18 QUORUM_INITIALIZE(3)