pacemaker
2.1.7-0f7f88312f
Scalable High-Availability cluster resource manager
|
#include <include/crm/cib/cib_types.h>
Data Fields | |
int(* | signon )(cib_t *cib, const char *name, enum cib_conn_type type) |
int(* | signon_raw )(cib_t *cib, const char *name, enum cib_conn_type type, int *event_fd) |
int(* | signoff )(cib_t *cib) |
int(* | free )(cib_t *cib) |
int(* | set_op_callback )(cib_t *cib, void(*callback)(const xmlNode *msg, int callid, int rc, xmlNode *output)) |
int(* | add_notify_callback )(cib_t *cib, const char *event, void(*callback)(const char *event, xmlNode *msg)) |
int(* | del_notify_callback )(cib_t *cib, const char *event, void(*callback)(const char *event, xmlNode *msg)) |
int(* | set_connection_dnotify )(cib_t *cib, void(*dnotify)(gpointer user_data)) |
int(* | inputfd )(cib_t *cib) |
int(* | noop )(cib_t *cib, int call_options) |
int(* | ping )(cib_t *cib, xmlNode **output_data, int call_options) |
int(* | query )(cib_t *cib, const char *section, xmlNode **output_data, int call_options) |
int(* | query_from )(cib_t *cib, const char *host, const char *section, xmlNode **output_data, int call_options) |
int(* | is_master )(cib_t *cib) |
int(* | set_master )(cib_t *cib, int call_options) |
int(* | set_slave )(cib_t *cib, int call_options) |
int(* | set_slave_all )(cib_t *cib, int call_options) |
int(* | sync )(cib_t *cib, const char *section, int call_options) |
int(* | sync_from )(cib_t *cib, const char *host, const char *section, int call_options) |
int(* | upgrade )(cib_t *cib, int call_options) |
int(* | bump_epoch )(cib_t *cib, int call_options) |
int(* | create )(cib_t *cib, const char *section, xmlNode *data, int call_options) |
int(* | modify )(cib_t *cib, const char *section, xmlNode *data, int call_options) |
int(* | update )(cib_t *cib, const char *section, xmlNode *data, int call_options) |
int(* | replace )(cib_t *cib, const char *section, xmlNode *data, int call_options) |
int(* | remove )(cib_t *cib, const char *section, xmlNode *data, int call_options) |
int(* | erase )(cib_t *cib, xmlNode **output_data, int call_options) |
int(* | delete_absolute )(cib_t *cib, const char *section, xmlNode *data, int call_options) |
int(* | quit )(cib_t *cib, int call_options) |
int(* | register_notification )(cib_t *cib, const char *callback, int enabled) |
gboolean(* | register_callback )(cib_t *cib, int call_id, int timeout, gboolean only_success, void *user_data, const char *callback_name, void(*callback)(xmlNode *, int, int, xmlNode *, void *)) |
gboolean(* | register_callback_full )(cib_t *cib, int call_id, int timeout, gboolean only_success, void *user_data, const char *callback_name, void(*callback)(xmlNode *, int, int, xmlNode *, void *), void(*free_func)(void *)) |
int(* | set_primary )(cib_t *cib, int call_options) |
Set the local CIB manager as the cluster's primary instance. More... | |
int(* | set_secondary )(cib_t *cib, int call_options) |
Set the local CIB manager as a secondary instance. More... | |
int(* | client_id )(const cib_t *cib, const char **async_id, const char **sync_id) |
Get the given CIB connection's unique client identifier(s) More... | |
int(* | init_transaction )(cib_t *cib) |
Initiate an atomic CIB transaction for this client. More... | |
int(* | end_transaction )(cib_t *cib, bool commit, int call_options) |
End and optionally commit this client's CIB transaction. More... | |
void(* | set_user )(cib_t *cib, const char *user) |
Set the user as whom all CIB requests via methods will be executed. More... | |
Definition at line 125 of file cib_types.h.
int(* cib_api_operations_s::add_notify_callback) (cib_t *cib, const char *event, void(*callback)(const char *event, xmlNode *msg)) |
Definition at line 140 of file cib_types.h.
int(* cib_api_operations_s::bump_epoch) (cib_t *cib, int call_options) |
Definition at line 177 of file cib_types.h.
int(* cib_api_operations_s::client_id) (const cib_t *cib, const char **async_id, const char **sync_id) |
Get the given CIB connection's unique client identifier(s)
These can be used to check whether this client requested the action that triggered a CIB notification.
[in] | cib | CIB connection |
[out] | async_id | If not NULL , where to store asynchronous client ID |
[out] | sync_id | If not NULL , where to store synchronous client ID |
Definition at line 251 of file cib_types.h.
int(* cib_api_operations_s::create) (cib_t *cib, const char *section, xmlNode *data, int call_options) |
Definition at line 178 of file cib_types.h.
int(* cib_api_operations_s::del_notify_callback) (cib_t *cib, const char *event, void(*callback)(const char *event, xmlNode *msg)) |
Definition at line 143 of file cib_types.h.
int(* cib_api_operations_s::delete_absolute) (cib_t *cib, const char *section, xmlNode *data, int call_options) |
Definition at line 194 of file cib_types.h.
int(* cib_api_operations_s::end_transaction) (cib_t *cib, bool commit, int call_options) |
End and optionally commit this client's CIB transaction.
When a client commits a transaction, all requests in the transaction are processed in a FIFO manner until either a request fails or all requests have been processed. Changes are applied to a working copy of the CIB. If a request fails, the transaction and working CIB copy are discarded, and an error is returned. If all requests succeed, the working CIB copy replaces the initial CIB copy.
Callbacks and notifications can be triggered by the commit request itself but not by the individual requests in a transaction.
An end_transaction()
call with commit
set to false
is always synchronous.
[in,out] | cib | CIB connection |
[in] | commit | If true , commit transaction; otherwise, discard it |
[in] | call_options | Group of enum cib_call_options flags |
Definition at line 314 of file cib_types.h.
int(* cib_api_operations_s::erase) (cib_t *cib, xmlNode **output_data, int call_options) |
Definition at line 191 of file cib_types.h.
int(* cib_api_operations_s::free) (cib_t *cib) |
Definition at line 133 of file cib_types.h.
int(* cib_api_operations_s::init_transaction) (cib_t *cib) |
Initiate an atomic CIB transaction for this client.
If the client has initiated a transaction and a new request's call options contain cib_transaction
, the new request is appended to the transaction for later processing.
Supported requests are those that meet the following conditions:
Currently supported CIB API functions include:
Because the transaction is atomic, individual requests do not trigger callbacks or notifications when they are processed, and they do not receive output XML. The commit request itself can trigger callbacks and notifications if any are registered.
An init_transaction()
call is always synchronous.
[in,out] | cib | CIB connection |
Definition at line 288 of file cib_types.h.
int(* cib_api_operations_s::inputfd) (cib_t *cib) |
Definition at line 150 of file cib_types.h.
int(* cib_api_operations_s::is_master) (cib_t *cib) |
Definition at line 162 of file cib_types.h.
int(* cib_api_operations_s::modify) (cib_t *cib, const char *section, xmlNode *data, int call_options) |
Definition at line 180 of file cib_types.h.
int(* cib_api_operations_s::noop) (cib_t *cib, int call_options) |
Definition at line 153 of file cib_types.h.
int(* cib_api_operations_s::ping) (cib_t *cib, xmlNode **output_data, int call_options) |
Definition at line 155 of file cib_types.h.
int(* cib_api_operations_s::query) (cib_t *cib, const char *section, xmlNode **output_data, int call_options) |
Definition at line 156 of file cib_types.h.
int(* cib_api_operations_s::query_from) (cib_t *cib, const char *host, const char *section, xmlNode **output_data, int call_options) |
Definition at line 158 of file cib_types.h.
int(* cib_api_operations_s::quit) (cib_t *cib, int call_options) |
Definition at line 198 of file cib_types.h.
gboolean(* cib_api_operations_s::register_callback) (cib_t *cib, int call_id, int timeout, gboolean only_success, void *user_data, const char *callback_name, void(*callback)(xmlNode *, int, int, xmlNode *, void *)) |
Definition at line 202 of file cib_types.h.
gboolean(* cib_api_operations_s::register_callback_full) (cib_t *cib, int call_id, int timeout, gboolean only_success, void *user_data, const char *callback_name, void(*callback)(xmlNode *, int, int, xmlNode *, void *), void(*free_func)(void *)) |
Definition at line 207 of file cib_types.h.
int(* cib_api_operations_s::register_notification) (cib_t *cib, const char *callback, int enabled) |
Definition at line 200 of file cib_types.h.
int(* cib_api_operations_s::remove) (cib_t *cib, const char *section, xmlNode *data, int call_options) |
Definition at line 189 of file cib_types.h.
int(* cib_api_operations_s::replace) (cib_t *cib, const char *section, xmlNode *data, int call_options) |
Definition at line 187 of file cib_types.h.
int(* cib_api_operations_s::set_connection_dnotify) (cib_t *cib, void(*dnotify)(gpointer user_data)) |
Definition at line 146 of file cib_types.h.
int(* cib_api_operations_s::set_master) (cib_t *cib, int call_options) |
Definition at line 165 of file cib_types.h.
int(* cib_api_operations_s::set_op_callback) (cib_t *cib, void(*callback)(const xmlNode *msg, int callid, int rc, xmlNode *output)) |
Definition at line 136 of file cib_types.h.
int(* cib_api_operations_s::set_primary) (cib_t *cib, int call_options) |
Set the local CIB manager as the cluster's primary instance.
[in,out] | cib | CIB connection |
[in] | call_options | Group of enum cib_call_options flags |
Definition at line 222 of file cib_types.h.
int(* cib_api_operations_s::set_secondary) (cib_t *cib, int call_options) |
Set the local CIB manager as a secondary instance.
[in,out] | cib | CIB connection |
[in] | call_options | Group of enum cib_call_options flags |
Definition at line 232 of file cib_types.h.
int(* cib_api_operations_s::set_slave) (cib_t *cib, int call_options) |
Definition at line 168 of file cib_types.h.
int(* cib_api_operations_s::set_slave_all) (cib_t *cib, int call_options) |
Definition at line 171 of file cib_types.h.
void(* cib_api_operations_s::set_user) (cib_t *cib, const char *user) |
Set the user as whom all CIB requests via methods will be executed.
By default, the value of the CIB_user
environment variable is used if set. Otherwise, root
is used.
[in,out] | cib | CIB connection |
[in] | user | Name of user whose permissions to use when processing requests |
Definition at line 326 of file cib_types.h.
int(* cib_api_operations_s::signoff) (cib_t *cib) |
Definition at line 132 of file cib_types.h.
int(* cib_api_operations_s::signon) (cib_t *cib, const char *name, enum cib_conn_type type) |
Definition at line 126 of file cib_types.h.
int(* cib_api_operations_s::signon_raw) (cib_t *cib, const char *name, enum cib_conn_type type, int *event_fd) |
Definition at line 129 of file cib_types.h.
int(* cib_api_operations_s::sync) (cib_t *cib, const char *section, int call_options) |
Definition at line 173 of file cib_types.h.
int(* cib_api_operations_s::sync_from) (cib_t *cib, const char *host, const char *section, int call_options) |
Definition at line 174 of file cib_types.h.
int(* cib_api_operations_s::update) (cib_t *cib, const char *section, xmlNode *data, int call_options) |
modify()
method instead Definition at line 184 of file cib_types.h.
int(* cib_api_operations_s::upgrade) (cib_t *cib, int call_options) |
Definition at line 176 of file cib_types.h.