---
name: "votequorum_getinfo"
section: "3"
platform: "linux"
package: "libvotequorum-dev"
version: "3.1.9-2+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/votequorum_getinfo"
---

# votequorum\_getinfo(3)

Get information about the VoteQuorum service

## NAME

votequorum\_getinfo - 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 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

[**votequorum\_overview**(3)](/votequorum_overview/3.md), [**votequorum\_initialize**(3)](/votequorum_initialize/3.md), [**votequorum\_finalize**(3)](/votequorum_finalize/3.md), [**votequorum\_trackstart**(3)](/votequorum_trackstart/3.md), [**votequorum\_trackstop**(3)](/votequorum_trackstop/3.md), [**votequorum\_fd\_get**(3)](/votequorum_fd_get/3.md), [**votequorum\_dispatch**(3)](/votequorum_dispatch/3.md), [**votequorum\_context\_set**(3)](/votequorum_context_set/3.md), [**votequorum\_context\_get**(3)](/votequorum_context_get/3.md), [**votequorum\_setexpected**(3)](/votequorum_setexpected/3.md), [**votequorum\_setvotes**(3)](/votequorum_setvotes/3.md)
