10 #ifndef PCMK__CRM_CIB_INTERNAL__H 11 #define PCMK__CRM_CIB_INTERNAL__H 24 #define PCMK__CIB_REQUEST_SECONDARY "cib_slave" 25 #define PCMK__CIB_REQUEST_PRIMARY "cib_master" 26 #define PCMK__CIB_REQUEST_SYNC_TO_ALL "cib_sync" 27 #define PCMK__CIB_REQUEST_SYNC_TO_ONE "cib_sync_one" 28 #define PCMK__CIB_REQUEST_IS_PRIMARY "cib_ismaster" 29 #define PCMK__CIB_REQUEST_BUMP "cib_bump" 30 #define PCMK__CIB_REQUEST_QUERY "cib_query" 31 #define PCMK__CIB_REQUEST_CREATE "cib_create" 32 #define PCMK__CIB_REQUEST_MODIFY "cib_modify" 33 #define PCMK__CIB_REQUEST_DELETE "cib_delete" 34 #define PCMK__CIB_REQUEST_ERASE "cib_erase" 35 #define PCMK__CIB_REQUEST_REPLACE "cib_replace" 36 #define PCMK__CIB_REQUEST_APPLY_PATCH "cib_apply_diff" 37 #define PCMK__CIB_REQUEST_UPGRADE "cib_upgrade" 38 #define PCMK__CIB_REQUEST_ABS_DELETE "cib_delete_alt" 39 #define PCMK__CIB_REQUEST_NOOP "noop" 40 #define PCMK__CIB_REQUEST_SHUTDOWN "cib_shutdown_req" 41 #define PCMK__CIB_REQUEST_COMMIT_TRANSACT "cib_commit_transact" 42 #define PCMK__CIB_REQUEST_SCHEMAS "cib_schemas" 88 int *_admin_epoch,
int *_epoch,
int *_updates);
92 typedef int (*
cib__op_fn_t)(
const char *, int,
const char *, xmlNode *,
93 xmlNode *, xmlNode *, xmlNode **, xmlNode **);
110 void (*
callback) (xmlNode *, int, int, xmlNode *,
void *);
125 #define cib__set_call_options(cib_call_opts, call_for, flags_to_set) do { \ 126 cib_call_opts = pcmk__set_flags_as(__func__, __LINE__, \ 127 LOG_TRACE, "CIB call", (call_for), (cib_call_opts), \ 128 (flags_to_set), #flags_to_set); \ 131 #define cib__clear_call_options(cib_call_opts, call_for, flags_to_clear) do { \ 132 cib_call_opts = pcmk__clear_flags_as(__func__, __LINE__, \ 133 LOG_TRACE, "CIB call", (call_for), (cib_call_opts), \ 134 (flags_to_clear), #flags_to_clear); \ 163 cib__client_triggers_refresh(
const char *
name)
179 xmlNode *req, xmlNode *
input,
bool manage_counters,
180 bool *config_changed, xmlNode **current_cib,
181 xmlNode **result_cib, xmlNode **diff, xmlNode **output);
184 const char *section, xmlNode *
data,
int call_options,
185 const char *user_name,
const char *client_name,
195 int cib_process_query(
const char *op,
int options,
const char *section, xmlNode * req,
196 xmlNode *
input, xmlNode * existing_cib, xmlNode ** result_cib,
199 int cib_process_erase(
const char *op,
int options,
const char *section, xmlNode * req,
200 xmlNode *
input, xmlNode * existing_cib, xmlNode ** result_cib,
203 int cib_process_bump(
const char *op,
int options,
const char *section, xmlNode * req,
204 xmlNode *
input, xmlNode * existing_cib, xmlNode ** result_cib,
208 xmlNode *
input, xmlNode * existing_cib, xmlNode ** result_cib,
211 int cib_process_create(
const char *op,
int options,
const char *section, xmlNode * req,
212 xmlNode *
input, xmlNode * existing_cib, xmlNode ** result_cib,
215 int cib_process_modify(
const char *op,
int options,
const char *section, xmlNode * req,
216 xmlNode *
input, xmlNode * existing_cib, xmlNode ** result_cib,
219 int cib_process_delete(
const char *op,
int options,
const char *section, xmlNode * req,
220 xmlNode *
input, xmlNode * existing_cib, xmlNode ** result_cib,
223 int cib_process_diff(
const char *op,
int options,
const char *section, xmlNode * req,
224 xmlNode *
input, xmlNode * existing_cib, xmlNode ** result_cib,
228 xmlNode *
input, xmlNode * existing_cib, xmlNode ** result_cib,
254 const xmlNode *req, xmlNode *
input, xmlNode *existing_cib,
255 xmlNode **result_cib, xmlNode ** answer);
258 const char *section, xmlNode *
data,
259 xmlNode ** output_data,
int call_options,
const char *user_name);
265 const char *cib_filename);
299 const char *section,
const char *node_uuid,
const char *set_type,
300 const char *set_name,
const char *attr_id,
const char *attr_name,
301 const char *attr_value,
const char *user_name,
302 const char *node_type);
305 const char *node_uuid,
const char *set_type,
const char *set_name,
306 const char *attr_id,
const char *attr_name,
const char *user_name,
310 const char *section,
const char *node_uuid,
const char *set_type,
311 const char *set_name,
const char *attr_id,
const char *attr_name,
312 const char *attr_value,
const char *user_name);
318 #endif // PCMK__CRM_CIB_INTERNAL__H
int cib__signon_query(pcmk__output_t *out, cib_t **cib, xmlNode **cib_object)
enum pcmk_ipc_server type
int cib_process_delete(const char *op, int options, const char *section, xmlNode *req, xmlNode *input, xmlNode *existing_cib, xmlNode **result_cib, xmlNode **answer)
int cib_process_replace(const char *op, int options, const char *section, xmlNode *req, xmlNode *input, xmlNode *existing_cib, xmlNode **result_cib, xmlNode **answer)
void(* callback)(const char *event, xmlNode *msg)
int cib_process_erase(const char *op, int options, const char *section, xmlNode *req, xmlNode *input, xmlNode *existing_cib, xmlNode **result_cib, xmlNode **answer)
int cib_process_bump(const char *op, int options, const char *section, xmlNode *req, xmlNode *input, xmlNode *existing_cib, xmlNode **result_cib, xmlNode **answer)
struct cib_notify_client_s cib_notify_client_t
int cib__delete_node_attr(pcmk__output_t *out, cib_t *cib, int options, const char *section, const char *node_uuid, const char *set_type, const char *set_name, const char *attr_id, const char *attr_name, const char *attr_value, const char *user_name)
Supported in a transaction.
cib_callback_client_t * cib__lookup_id(int call_id)
struct cib__operation_s cib__operation_t
void cib_native_notify(gpointer data, gpointer user_data)
int cib__get_node_attrs(pcmk__output_t *out, cib_t *cib, const char *section, const char *node_uuid, const char *set_type, const char *set_name, const char *attr_id, const char *attr_name, const char *user_name, xmlNode **result)
cib_t * cib_new_variant(void)
struct timer_rec_s * timer
Formatted output for pacemaker tools.
Writes to disk on success.
int cib_process_diff(const char *op, int options, const char *section, xmlNode *req, xmlNode *input, xmlNode *existing_cib, xmlNode **result_cib, xmlNode **answer)
void(* callback)(xmlNode *, int, int, xmlNode *, void *)
enum pcmk_ipc_server pcmk__parse_server(const char *text)
void cib__set_output(cib_t *cib, pcmk__output_t *out)
Must only be processed locally.
int cib__create_op(cib_t *cib, const char *op, const char *host, const char *section, xmlNode *data, int call_options, const char *user_name, const char *client_name, xmlNode **op_msg)
bool pcmk__str_any_of(const char *s,...) G_GNUC_NULL_TERMINATED
int cib__clean_up_connection(cib_t **cib)
int(* cib__op_fn_t)(const char *, int, const char *, xmlNode *, xmlNode *, xmlNode *, xmlNode **, xmlNode **)
int cib__signon_attempts(cib_t *cib, enum cib_conn_type type, int attempts)
int cib_process_query(const char *op, int options, const char *section, xmlNode *req, xmlNode *input, xmlNode *existing_cib, xmlNode **result_cib, xmlNode **answer)
int cib_file_write_with_digest(xmlNode *cib_root, const char *cib_dirname, const char *cib_filename)
int cib__get_notify_patchset(const xmlNode *msg, const xmlNode **patchset)
gboolean cib_read_config(GHashTable *options, xmlNode *current_cib)
int cib_file_read_and_verify(const char *filename, const char *sigfile, xmlNode **root)
pcmk__action_result_t result
gboolean cib_diff_version_details(xmlNode *diff, int *admin_epoch, int *epoch, int *updates, int *_admin_epoch, int *_epoch, int *_updates)
int cib__extend_transaction(cib_t *cib, xmlNode *request)
This structure contains everything that makes up a single output formatter.
int cib__update_node_attr(pcmk__output_t *out, cib_t *cib, int call_options, const char *section, const char *node_uuid, const char *set_type, const char *set_name, const char *attr_id, const char *attr_name, const char *attr_value, const char *user_name, const char *node_type)
uint32_t flags
Group of enum cib__op_attr flags.
int cib_process_xpath(const char *op, int options, const char *section, const xmlNode *req, xmlNode *input, xmlNode *existing_cib, xmlNode **result_cib, xmlNode **answer)
void cib_native_callback(cib_t *cib, xmlNode *msg, int call_id, int rc)
int cib__get_operation(const char *op, const cib__operation_t **operation)
int cib_internal_op(cib_t *cib, const char *op, const char *host, const char *section, xmlNode *data, xmlNode **output_data, int call_options, const char *user_name)
void(* free_func)(void *)
int cib_process_upgrade(const char *op, int options, const char *section, xmlNode *req, xmlNode *input, xmlNode *existing_cib, xmlNode **result_cib, xmlNode **answer)
int cib_process_modify(const char *op, int options, const char *section, xmlNode *req, xmlNode *input, xmlNode *existing_cib, xmlNode **result_cib, xmlNode **answer)
struct cib_callback_client_s cib_callback_client_t
int cib_process_create(const char *op, int options, const char *section, xmlNode *req, xmlNode *input, xmlNode *existing_cib, xmlNode **result_cib, xmlNode **answer)
int cib_perform_op(cib_t *cib, const char *op, uint32_t call_options, cib__op_fn_t fn, bool is_query, const char *section, xmlNode *req, xmlNode *input, bool manage_counters, bool *config_changed, xmlNode **current_cib, xmlNode **result_cib, xmlNode **diff, xmlNode **output)