corosync 3.1.8
|
#include <config.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/uio.h>
#include <errno.h>
#include <qb/qbipcc.h>
#include <corosync/corotypes.h>
#include <corosync/corodefs.h>
#include <corosync/hdb.h>
#include <corosync/quorum.h>
#include <corosync/ipc_quorum.h>
#include "util.h"
Go to the source code of this file.
Data Structures | |
struct | quorum_inst |
Functions | |
DECLARE_HDB_DATABASE (quorum_handle_t_db, quorum_inst_free) | |
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_getquorate (quorum_handle_t handle, int *quorate) |
Get quorum information. | |
cs_error_t | quorum_fd_get (quorum_handle_t handle, int *fd) |
Get a file descriptor on which to poll. | |
cs_error_t | quorum_context_get (quorum_handle_t handle, const void **context) |
quorum_context_get | |
cs_error_t | quorum_context_set (quorum_handle_t handle, const void *context) |
quorum_context_set | |
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_dispatch (quorum_handle_t handle, cs_dispatch_flags_t dispatch_types) |
Dispatch messages and configuration changes. | |
DECLARE_HDB_DATABASE | ( | quorum_handle_t_db | , |
quorum_inst_free | ) |
cs_error_t quorum_context_get | ( | quorum_handle_t | handle, |
const void ** | context ) |
quorum_context_get
handle | |
context |
Definition at line 299 of file lib/quorum.c.
References quorum_inst::context, CS_OK, and hdb_error_to_cs().
cs_error_t quorum_context_set | ( | quorum_handle_t | handle, |
const void * | context ) |
quorum_context_set
handle | |
context |
Definition at line 318 of file lib/quorum.c.
References quorum_inst::context, CS_OK, and hdb_error_to_cs().
cs_error_t quorum_dispatch | ( | quorum_handle_t | handle, |
cs_dispatch_flags_t | dispatch_types ) |
Dispatch messages and configuration changes.
handle | |
dispatch_types |
Definition at line 418 of file lib/quorum.c.
References quorum_inst::c, CS_DISPATCH_ALL, CS_DISPATCH_BLOCKING, CS_DISPATCH_ONE, CS_DISPATCH_ONE_NONBLOCKING, CS_ERR_BAD_HANDLE, CS_ERR_INVALID_PARAM, CS_ERR_LIBRARY, CS_ERR_TRY_AGAIN, CS_OK, quorum_inst::finalize, hdb_error_to_cs(), IPC_DISPATCH_SIZE, res_lib_quorum_v1_nodelist_notification::member_list, MESSAGE_RES_QUORUM_NOTIFICATION, MESSAGE_RES_QUORUM_V1_NODELIST_NOTIFICATION, MESSAGE_RES_QUORUM_V1_QUORUM_NOTIFICATION, quorum_model_data_t::model, quorum_inst::model_data, quorum_inst::model_v0_data, quorum_inst::model_v1_data, memb_ring_id::nodeid, quorum_model_v1_data_t::nodelist_notify_fn, qb_to_cs_error(), QUORUM_MODEL_V0, QUORUM_MODEL_V1, quorum_model_v0_data_t::quorum_notify_fn, quorum_model_v1_data_t::quorum_notify_fn, ring_id, memb_ring_id::seq, res_lib_quorum_notification::view_list, and res_lib_quorum_v1_quorum_notification::view_list.
Referenced by sam_initialize().
cs_error_t quorum_fd_get | ( | quorum_handle_t | handle, |
int * | fd ) |
Get a file descriptor on which to poll.
handle | |
fd |
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().
cs_error_t quorum_finalize | ( | quorum_handle_t | handle | ) |
Close the quorum handle.
handle |
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().
cs_error_t quorum_getquorate | ( | quorum_handle_t | handle, |
int * | quorate ) |
Get quorum information.
handle | |
quorate |
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.
cs_error_t quorum_initialize | ( | quorum_handle_t * | handle, |
quorum_callbacks_t * | callbacks, | ||
uint32_t * | quorum_type ) |
Create a new quorum connection.
handle | |
callbacks | |
quorum_type |
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().
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 ) |
Definition at line 90 of file lib/quorum.c.
References quorum_inst::c, quorum_inst::context, CS_ERR_INVALID_PARAM, CS_OK, quorum_inst::finalize, hdb_error_to_cs(), IPC_REQUEST_SIZE, MESSAGE_REQ_QUORUM_GETTYPE, MESSAGE_REQ_QUORUM_MODEL_GETTYPE, quorum_model_data_t::model, quorum_inst::model_data, quorum_inst::model_v0_data, quorum_inst::model_v1_data, qb_to_cs_error(), QUORUM_MODEL_V0, QUORUM_MODEL_V1, and res_lib_quorum_gettype::quorum_type.
Referenced by quorum_initialize().
cs_error_t quorum_trackstart | ( | quorum_handle_t | handle, |
unsigned int | flags ) |
Track node and quorum changes.
handle | |
flags |
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().
cs_error_t quorum_trackstop | ( | quorum_handle_t | handle | ) |
quorum_trackstop
handle |
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().