Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
QUORU...IALIZE(3)  Corosync Cluster Engine Programmer's Manual QUORU...IALIZE(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 *call-
     backs, 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 ap-
     plication 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 quo-
     rum_dispatch() function.

RETURN VALUE
     This call returns the CS_OK value if successful, otherwise an error is  re-
     turned.

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),  quo-
     rum_getquorate(3),    quorum_trackstart(3),    quorum_trackstop(3),    quo-
     rum_fd_get(3),   quorum_dispatch(3),   quorum_context_set(3),   quorum_con-
     text_get(3)

corosync Man Page		   2026-09-03		       QUORU...IALIZE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=quorum_initialize&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help