GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
QUORUM_INITIALIZE(3) Corosync Cluster Engine Programmer's Manual QUORUM_INITIALIZE(3)

quorum_initialize - Create a new connection to the Quorum service

#include <corosync/quorum.h>

int quorum_initialize(quorum_handle_t *handle, quorum_callbacks_t *callbacks, uint32_t *quorum_type);

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.

This call returns the CS_OK value if successful, otherwise an error is returned.

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

quorum_overview(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)
2022-05-26 corosync Man Page

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.