Provided by: libquorum-dev_3.1.6-2ubuntu1_amd64 bug

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(3), quorum_model_initialize(3), 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)