corosync  2.3.2
Data Structures | Macros | Typedefs | Functions
include/corosync/votequorum.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  votequorum_info
 
struct  votequorum_node_t
 
struct  votequorum_callbacks_t
 

Macros

#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
 
#define VOTEQUORUM_QDEVICE_NODEID   0
 
#define VOTEQUORUM_QDEVICE_MAX_NAME_LEN   255
 
#define VOTEQUORUM_QDEVICE_DEFAULT_TIMEOUT   10000
 
#define VOTEQUORUM_NODESTATE_MEMBER   1
 
#define VOTEQUORUM_NODESTATE_DEAD   2
 
#define VOTEQUORUM_NODESTATE_LEAVING   3
 

Typedefs

typedef uint64_t votequorum_handle_t
 
typedef void(* votequorum_notification_fn_t )(votequorum_handle_t handle, uint64_t context, uint32_t quorate, uint32_t node_list_entries, votequorum_node_t node_list[])
 
typedef void(* votequorum_expectedvotes_notification_fn_t )(votequorum_handle_t handle, uint64_t context, uint32_t expected_votes)
 

Functions

cs_error_t votequorum_initialize (votequorum_handle_t *handle, votequorum_callbacks_t *callbacks)
 Create a new quorum connection. More...
 
cs_error_t votequorum_finalize (votequorum_handle_t handle)
 Close the quorum handle. More...
 
cs_error_t votequorum_dispatch (votequorum_handle_t handle, cs_dispatch_flags_t dispatch_types)
 Dispatch messages and configuration changes. More...
 
cs_error_t votequorum_fd_get (votequorum_handle_t handle, int *fd)
 Get a file descriptor on which to poll. More...
 
cs_error_t votequorum_getinfo (votequorum_handle_t handle, unsigned int nodeid, struct votequorum_info *info)
 Get quorum information. More...
 
cs_error_t votequorum_setexpected (votequorum_handle_t handle, unsigned int expected_votes)
 set expected_votes More...
 
cs_error_t votequorum_setvotes (votequorum_handle_t handle, unsigned int nodeid, unsigned int votes)
 set votes for a node More...
 
cs_error_t votequorum_trackstart (votequorum_handle_t handle, uint64_t context, unsigned int flags)
 Track node and quorum changes. More...
 
cs_error_t votequorum_trackstop (votequorum_handle_t handle)
 
cs_error_t votequorum_context_get (votequorum_handle_t handle, void **context)
 Save and retrieve private data/context. More...
 
cs_error_t votequorum_context_set (votequorum_handle_t handle, void *context)
 
cs_error_t votequorum_qdevice_register (votequorum_handle_t handle, const char *name)
 Register a quorum device. More...
 
cs_error_t votequorum_qdevice_unregister (votequorum_handle_t handle, const char *name)
 Unregister a quorum device. More...
 
cs_error_t votequorum_qdevice_update (votequorum_handle_t handle, const char *oldname, const char *newname)
 Update registered name of a quorum device. More...
 
cs_error_t votequorum_qdevice_poll (votequorum_handle_t handle, const char *name, unsigned int cast_vote)
 Poll a quorum device. More...
 
cs_error_t votequorum_qdevice_master_wins (votequorum_handle_t handle, const char *name, unsigned int allow)
 Allow qdevice to tell votequorum if master_wins can be enabled or not. More...
 

Macro Definition Documentation

#define VOTEQUORUM_INFO_ALLOW_DOWNSCALE   32

Definition at line 50 of file include/corosync/votequorum.h.

#define VOTEQUORUM_INFO_AUTO_TIE_BREAKER   16

Definition at line 49 of file include/corosync/votequorum.h.

#define VOTEQUORUM_INFO_LAST_MAN_STANDING   8

Definition at line 48 of file include/corosync/votequorum.h.

#define VOTEQUORUM_INFO_QDEVICE_ALIVE   128

Definition at line 52 of file include/corosync/votequorum.h.

#define VOTEQUORUM_INFO_QDEVICE_CAST_VOTE   256

Definition at line 53 of file include/corosync/votequorum.h.

#define VOTEQUORUM_INFO_QDEVICE_MASTER_WINS   512

Definition at line 54 of file include/corosync/votequorum.h.

#define VOTEQUORUM_INFO_QDEVICE_REGISTERED   64

Definition at line 51 of file include/corosync/votequorum.h.

#define VOTEQUORUM_INFO_QUORATE   2

Definition at line 46 of file include/corosync/votequorum.h.

#define VOTEQUORUM_INFO_TWONODE   1

Definition at line 45 of file include/corosync/votequorum.h.

#define VOTEQUORUM_INFO_WAIT_FOR_ALL   4

Definition at line 47 of file include/corosync/votequorum.h.

#define VOTEQUORUM_NODESTATE_DEAD   2

Definition at line 61 of file include/corosync/votequorum.h.

#define VOTEQUORUM_NODESTATE_LEAVING   3

Definition at line 62 of file include/corosync/votequorum.h.

#define VOTEQUORUM_NODESTATE_MEMBER   1

Definition at line 60 of file include/corosync/votequorum.h.

#define VOTEQUORUM_QDEVICE_DEFAULT_TIMEOUT   10000

Definition at line 58 of file include/corosync/votequorum.h.

#define VOTEQUORUM_QDEVICE_MAX_NAME_LEN   255

Definition at line 57 of file include/corosync/votequorum.h.

#define VOTEQUORUM_QDEVICE_NODEID   0

Definition at line 56 of file include/corosync/votequorum.h.

Typedef Documentation

typedef void(* votequorum_expectedvotes_notification_fn_t)(votequorum_handle_t handle, uint64_t context, uint32_t expected_votes)

Definition at line 91 of file include/corosync/votequorum.h.

typedef uint64_t votequorum_handle_t

Definition at line 43 of file include/corosync/votequorum.h.

typedef void(* votequorum_notification_fn_t)(votequorum_handle_t handle, uint64_t context, uint32_t quorate, uint32_t node_list_entries, votequorum_node_t node_list[])

Definition at line 84 of file include/corosync/votequorum.h.

Function Documentation

cs_error_t votequorum_context_get ( votequorum_handle_t  handle,
void **  context 
)

Save and retrieve private data/context.

Definition at line 370 of file lib/votequorum.c.

References votequorum_inst::context, CS_OK, and hdb_error_to_cs().

cs_error_t votequorum_context_set ( votequorum_handle_t  handle,
void *  context 
)

Definition at line 389 of file lib/votequorum.c.

References votequorum_inst::context, CS_OK, and hdb_error_to_cs().

cs_error_t votequorum_dispatch ( votequorum_handle_t  handle,
cs_dispatch_flags_t  dispatch_types 
)
cs_error_t votequorum_fd_get ( votequorum_handle_t  handle,
int *  fd 
)

Get a file descriptor on which to poll.

Note
votequorum_handle_t is NOT a file descriptor and may not be used directly.

Definition at line 409 of file lib/votequorum.c.

References votequorum_inst::c, CS_OK, hdb_error_to_cs(), and qb_to_cs_error().

cs_error_t votequorum_finalize ( votequorum_handle_t  handle)

Close the quorum handle.

Definition at line 119 of file lib/votequorum.c.

References CS_ERR_BAD_HANDLE, CS_OK, votequorum_inst::finalize, and hdb_error_to_cs().

cs_error_t votequorum_getinfo ( votequorum_handle_t  handle,
unsigned int  nodeid,
struct votequorum_info info 
)
cs_error_t votequorum_initialize ( votequorum_handle_t handle,
votequorum_callbacks_t callbacks 
)
cs_error_t votequorum_qdevice_master_wins ( votequorum_handle_t  handle,
const char *  name,
unsigned int  allow 
)
cs_error_t votequorum_qdevice_poll ( votequorum_handle_t  handle,
const char *  name,
unsigned int  cast_vote 
)
cs_error_t votequorum_qdevice_register ( votequorum_handle_t  handle,
const char *  name 
)
cs_error_t votequorum_qdevice_unregister ( votequorum_handle_t  handle,
const char *  name 
)
cs_error_t votequorum_qdevice_update ( votequorum_handle_t  handle,
const char *  oldname,
const char *  newname 
)
cs_error_t votequorum_setexpected ( votequorum_handle_t  handle,
unsigned int  expected_votes 
)
cs_error_t votequorum_setvotes ( votequorum_handle_t  handle,
unsigned int  nodeid,
unsigned int  votes 
)
cs_error_t votequorum_trackstart ( votequorum_handle_t  handle,
uint64_t  context,
unsigned int  flags 
)
cs_error_t votequorum_trackstop ( votequorum_handle_t  handle)