votequorum_getinfo(3) Get information about the VoteQuorum service

SYNOPSIS

#include <corosync/votequorum.h>

int votequorum_getinfo(votequorum_handle_t *handle, unsigned int nodeid, struct votequorum_info *info);

DESCRIPTION

The votequorum_getinfo function is used to get information about the voting system and its nodes.

The nodeid argument indicates which node information should be stored in the votequorum_info structure.

The votequorum_info structure is defined as follows:

struct votequorum_info {
        unsigned int node_id;
        unsigned int node_state;
        unsigned int node_votes;
        unsigned int node_expected_votes;
        unsigned int highest_expected;
        unsigned int total_votes;
        unsigned int quorum;
        unsigned int flags;
        unsigned int qdevice_votes;
        char qdevice_name[VOTEQUORUM_QDEVICE_MAX_NAME_LEN];
};
The node_state is defined as:
#define VOTEQUORUM_NODESTATE_MEMBER     1
#define VOTEQUORUM_NODESTATE_DEAD       2
#define VOTEQUORUM_NODESTATE_LEAVING    3
The flags are defined as:
#define VOTEQUORUM_INFO_TWONODE                 1
#define VOTEQUORUM_INFO_QUORATE                 2
#define VOTEQUORUM_INFO_WAIT_FOR_ALL            4
#define VOTEQUORUM_INFO_LAST_MAN_STANDING       8
#define VOTEQUORUM_INFO_AUTO_TIE_BREAKER       16
#define VOTEQUORUM_INFO_ALLOW_DOWNSCALE        32
#define VOTEQUORUM_INFO_QDEVICE_REGISTERED     64
#define VOTEQUORUM_INFO_QDEVICE_ALIVE         128
#define VOTEQUORUM_INFO_QDEVICE_CAST_VOTE     256
#define VOTEQUORUM_INFO_QDEVICE_MASTER_WINS   512

The members starting node_ hold information specific to the requested nodeid, the other are general to the voting system.

RETURN VALUE

This call returns the CS_OK value if successful, otherwise a generic 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