---
name: "votequorum_trackstart"
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_trackstart"
---

# votequorum\_trackstart(3)

Enable callbacks notification.

## NAME

votequorum\_trackstart - Enable callbacks notification.

## SYNOPSIS

**#include \<corosync/votequorum.h\>**

**int votequorum\_trackstart(votequorum\_handle\_t \****handle***, uint64\_t** *context***, unsigned int** *flags***);**

## DESCRIPTION

The **votequorum\_trackstart** function is used to enable callbacks notification from the votequorum API.

Every time the voting configuration changes (eg a node joins or leave the cluster) or the quorum status change or the expected votes changes, the notification is queued.

The notification is dispatched via **votequorum\_dispatch()** function that will execute the callback.

The *context* option allows one to set a tracking context.

The *flags* argument is defined by one or more of the following values and values can be bitwise-or'd

```
#define CS_TRACK_CURRENT      0x01
#define CS_TRACK_CHANGES      0x02
#define CS_TRACK_CHANGES_ONLY 0x04
```

## 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

[**votequorum\_overview**(3)](/votequorum_overview/3.md), [**votequorum\_initialize**(3)](/votequorum_initialize/3.md), [**votequorum\_finalize**(3)](/votequorum_finalize/3.md), [**votequorum\_getinfo**(3)](/votequorum_getinfo/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)
