corosync 3.1.9
quorum.h File Reference
Include dependency graph for include/corosync/quorum.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  quorum_ring_id
 
struct  quorum_callbacks_t
 The quorum_callbacks_t struct. More...
 
struct  quorum_model_data_t
 
struct  quorum_model_v0_data_t
 
struct  quorum_model_v1_data_t
 

Macros

#define QUORUM_FREE   0
 
#define QUORUM_SET   1
 

Typedefs

typedef uint64_t quorum_handle_t
 quorum_handle_t
 
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 quorum_notification_fn_t callback.
 
typedef void(* quorum_v1_quorum_notification_fn_t) (quorum_handle_t handle, uint32_t quorate, struct quorum_ring_id ring_id, uint32_t member_list_entries, const uint32_t *member_list)
 
typedef void(* quorum_v1_nodelist_notification_fn_t) (quorum_handle_t handle, struct quorum_ring_id ring_id, uint32_t member_list_entries, const uint32_t *member_list, uint32_t joined_list_entries, const uint32_t *joined_list, uint32_t left_list_entries, const uint32_t *left_list)
 

Enumerations

enum  quorum_model_t { QUORUM_MODEL_V0 = 0 , QUORUM_MODEL_V1 = 1 }
 

Functions

cs_error_t quorum_initialize (quorum_handle_t *handle, quorum_callbacks_t *callbacks, uint32_t *quorum_type)
 Create a new quorum connection.
 
cs_error_t quorum_model_initialize (quorum_handle_t *handle, quorum_model_t model, quorum_model_data_t *model_data, uint32_t *quorum_type, void *context)
 
cs_error_t quorum_finalize (quorum_handle_t handle)
 Close the quorum handle.
 
cs_error_t quorum_fd_get (quorum_handle_t handle, int *fd)
 Get a file descriptor on which to poll.
 
cs_error_t quorum_dispatch (quorum_handle_t handle, cs_dispatch_flags_t dispatch_types)
 Dispatch messages and configuration changes.
 
cs_error_t quorum_getquorate (quorum_handle_t handle, int *quorate)
 Get quorum information.
 
cs_error_t quorum_trackstart (quorum_handle_t handle, unsigned int flags)
 Track node and quorum changes.
 
cs_error_t quorum_trackstop (quorum_handle_t handle)
 quorum_trackstop
 
cs_error_t quorum_context_set (quorum_handle_t handle, const void *context)
 quorum_context_set
 
cs_error_t quorum_context_get (quorum_handle_t handle, const void **context)
 quorum_context_get
 

Macro Definition Documentation

◆ QUORUM_FREE

#define QUORUM_FREE   0

Definition at line 106 of file include/corosync/quorum.h.

◆ QUORUM_SET

#define QUORUM_SET   1

Definition at line 107 of file include/corosync/quorum.h.

Typedef Documentation

◆ quorum_handle_t

typedef uint64_t quorum_handle_t

quorum_handle_t

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

◆ quorum_notification_fn_t

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 quorum_notification_fn_t callback.

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

◆ quorum_v1_nodelist_notification_fn_t

typedef void(* quorum_v1_nodelist_notification_fn_t) (quorum_handle_t handle, struct quorum_ring_id ring_id, uint32_t member_list_entries, const uint32_t *member_list, uint32_t joined_list_entries, const uint32_t *joined_list, uint32_t left_list_entries, const uint32_t *left_list)

Definition at line 76 of file include/corosync/quorum.h.

◆ quorum_v1_quorum_notification_fn_t

typedef void(* quorum_v1_quorum_notification_fn_t) (quorum_handle_t handle, uint32_t quorate, struct quorum_ring_id ring_id, uint32_t member_list_entries, const uint32_t *member_list)

Definition at line 69 of file include/corosync/quorum.h.

Enumeration Type Documentation

◆ quorum_model_t

Enumerator
QUORUM_MODEL_V0 
QUORUM_MODEL_V1 

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

Function Documentation

◆ quorum_context_get()

cs_error_t quorum_context_get ( quorum_handle_t handle,
const void ** context )

quorum_context_get

Parameters
handle
context
Returns

Definition at line 299 of file lib/quorum.c.

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

◆ quorum_context_set()

cs_error_t quorum_context_set ( quorum_handle_t handle,
const void * context )

quorum_context_set

Parameters
handle
context
Returns

Definition at line 318 of file lib/quorum.c.

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

◆ quorum_dispatch()

◆ quorum_fd_get()

cs_error_t quorum_fd_get ( quorum_handle_t handle,
int * fd )

Get a file descriptor on which to poll.

Note
quorum_handle_t is NOT a file descriptor and may not be used directly.
Parameters
handle
fd
Returns

Definition at line 279 of file lib/quorum.c.

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

Referenced by sam_initialize().

◆ quorum_finalize()

cs_error_t quorum_finalize ( quorum_handle_t handle)

Close the quorum handle.

Parameters
handle
Returns

Definition at line 209 of file lib/quorum.c.

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

Referenced by sam_initialize(), and sam_register().

◆ quorum_getquorate()

cs_error_t quorum_getquorate ( quorum_handle_t handle,
int * quorate )

Get quorum information.

Parameters
handle
quorate
Returns

Definition at line 237 of file lib/quorum.c.

References quorum_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_QUORUM_GETQUORATE, qb_to_cs_error(), quorate, and res_lib_quorum_getquorate::quorate.

◆ quorum_initialize()

cs_error_t quorum_initialize ( quorum_handle_t * handle,
quorum_callbacks_t * callbacks,
uint32_t * quorum_type )

Create a new quorum connection.

Parameters
handle
callbacks
quorum_type
Returns

Definition at line 73 of file lib/quorum.c.

References quorum_model_initialize(), QUORUM_MODEL_V0, quorum_callbacks_t::quorum_notify_fn, and quorum_model_v0_data_t::quorum_notify_fn.

Referenced by sam_initialize().

◆ quorum_model_initialize()

◆ quorum_trackstart()

cs_error_t quorum_trackstart ( quorum_handle_t handle,
unsigned int flags )

Track node and quorum changes.

Parameters
handle
flags
Returns

Definition at line 338 of file lib/quorum.c.

References quorum_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, flags, hdb_error_to_cs(), MESSAGE_REQ_QUORUM_TRACKSTART, qb_to_cs_error(), and req_lib_quorum_trackstart::track_flags.

Referenced by sam_initialize().

◆ quorum_trackstop()

cs_error_t quorum_trackstop ( quorum_handle_t handle)

quorum_trackstop

Parameters
handle
Returns

Definition at line 379 of file lib/quorum.c.

References quorum_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_QUORUM_TRACKSTOP, and qb_to_cs_error().