pacemaker  2.1.7-0f7f88312f
Scalable High-Availability cluster resource manager
Macros | Functions
cib_utils.c File Reference
#include <crm_internal.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <sys/utsname.h>
#include <glib.h>
#include <crm/crm.h>
#include <crm/cib/internal.h>
#include <crm/msg_xml.h>
#include <crm/common/cib_internal.h>
#include <crm/common/xml.h>
#include <crm/common/xml_internal.h>
#include <crm/pengine/rules.h>
#include <crm/cib/util_compat.h>
Include dependency graph for cib_utils.c:

Go to the source code of this file.

Macros

#define XPATH_DIFF_V1   "//" F_CIB_UPDATE_RESULT "//" XML_TAG_DIFF_ADDED
 
#define log_signon_query_err(out, fmt, args...)
 

Functions

xmlNode * cib_get_generation (cib_t *cib)
 
gboolean cib_version_details (xmlNode *cib, int *admin_epoch, int *epoch, int *updates)
 
gboolean cib_diff_version_details (xmlNode *diff, int *admin_epoch, int *epoch, int *updates, int *_admin_epoch, int *_epoch, int *_updates)
 
int cib__get_notify_patchset (const xmlNode *msg, const xmlNode **patchset)
 
bool cib__element_in_patchset (const xmlNode *patchset, const char *element)
 
xmlNode * createEmptyCib (int cib_epoch)
 Create XML for a new (empty) CIB. More...
 
int cib_perform_op (const char *op, int 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)
 
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)
 
int cib__extend_transaction (cib_t *cib, xmlNode *request)
 
void cib_native_callback (cib_t *cib, xmlNode *msg, int call_id, int rc)
 
void cib_native_notify (gpointer data, gpointer user_data)
 
void cib_metadata (void)
 
const char * cib_pref (GHashTable *options, const char *name)
 
gboolean cib_read_config (GHashTable *options, xmlNode *current_cib)
 
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)
 
int cib_apply_patch_event (xmlNode *event, xmlNode *input, xmlNode **output, int level)
 Apply a CIB update patch to a given CIB. More...
 
int cib__signon_query (pcmk__output_t *out, cib_t **cib, xmlNode **cib_object)
 
int cib__clean_up_connection (cib_t **cib)
 
const char * get_object_path (const char *object_type)
 
const char * get_object_parent (const char *object_type)
 
xmlNode * get_object_root (const char *object_type, xmlNode *the_root)
 

Macro Definition Documentation

◆ log_signon_query_err

#define log_signon_query_err (   out,
  fmt,
  args... 
)
Value:
do { \
if (out != NULL) { \
out->err(out, fmt, ##args); \
} else { \
crm_err(fmt, ##args); \
} \
} while (0)

Definition at line 1013 of file cib_utils.c.

◆ XPATH_DIFF_V1

#define XPATH_DIFF_V1   "//" F_CIB_UPDATE_RESULT "//" XML_TAG_DIFF_ADDED

Definition at line 119 of file cib_utils.c.

Function Documentation

◆ cib__clean_up_connection()

int cib__clean_up_connection ( cib_t **  cib)

Definition at line 1076 of file cib_utils.c.

◆ cib__create_op()

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 
)

Definition at line 673 of file cib_utils.c.

◆ cib__element_in_patchset()

bool cib__element_in_patchset ( const xmlNode *  patchset,
const char *  element 
)

Definition at line 209 of file cib_utils.c.

◆ cib__extend_transaction()

int cib__extend_transaction ( cib_t cib,
xmlNode *  request 
)

Definition at line 758 of file cib_utils.c.

◆ cib__get_notify_patchset()

int cib__get_notify_patchset ( const xmlNode *  msg,
const xmlNode **  patchset 
)

Definition at line 91 of file cib_utils.c.

◆ cib__signon_query()

int cib__signon_query ( pcmk__output_t out,
cib_t **  cib,
xmlNode **  cib_object 
)

Definition at line 1022 of file cib_utils.c.

◆ cib_apply_patch_event()

int cib_apply_patch_event ( xmlNode *  event,
xmlNode *  input,
xmlNode **  output,
int  level 
)

Apply a CIB update patch to a given CIB.

Parameters
[in]eventCIB update patch
[in]inputCIB to patch
[out]outputResulting CIB after patch
[in]levelLog the patch at this log level (unless LOG_CRIT)
Returns
Legacy Pacemaker return code
Note
sbd calls this function

Definition at line 971 of file cib_utils.c.

◆ cib_diff_version_details()

gboolean cib_diff_version_details ( xmlNode *  diff,
int *  admin_epoch,
int *  epoch,
int *  updates,
int *  _admin_epoch,
int *  _epoch,
int *  _updates 
)

Definition at line 62 of file cib_utils.c.

◆ cib_get_generation()

xmlNode* cib_get_generation ( cib_t cib)

Definition at line 29 of file cib_utils.c.

◆ cib_internal_op()

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 
)

Definition at line 943 of file cib_utils.c.

◆ cib_metadata()

void cib_metadata ( void  )

Definition at line 889 of file cib_utils.c.

◆ cib_native_callback()

void cib_native_callback ( cib_t cib,
xmlNode *  msg,
int  call_id,
int  rc 
)

Definition at line 786 of file cib_utils.c.

◆ cib_native_notify()

void cib_native_notify ( gpointer  data,
gpointer  user_data 
)

Definition at line 835 of file cib_utils.c.

◆ cib_perform_op()

int cib_perform_op ( const char *  op,
int  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 
)

Definition at line 342 of file cib_utils.c.

◆ cib_pref()

const char* cib_pref ( GHashTable *  options,
const char *  name 
)

Definition at line 909 of file cib_utils.c.

◆ cib_read_config()

gboolean cib_read_config ( GHashTable *  options,
xmlNode *  current_cib 
)

Definition at line 916 of file cib_utils.c.

◆ cib_version_details()

gboolean cib_version_details ( xmlNode *  cib,
int *  admin_epoch,
int *  epoch,
int *  updates 
)

Definition at line 44 of file cib_utils.c.

◆ createEmptyCib()

xmlNode* createEmptyCib ( int  cib_epoch)

Create XML for a new (empty) CIB.

Parameters
[in]cib_epochWhat to use as "epoch" CIB property
Returns
Newly created XML for empty CIB
Note
It is the caller's responsibility to free the result with free_xml().

Definition at line 238 of file cib_utils.c.

◆ get_object_parent()

const char* get_object_parent ( const char *  object_type)
Deprecated:
Use pcmk_cib_parent_name_for() instead

Definition at line 1102 of file cib_utils.c.

◆ get_object_path()

const char* get_object_path ( const char *  object_type)
Deprecated:
Use pcmk_cib_xpath_for() instead

Definition at line 1096 of file cib_utils.c.

◆ get_object_root()

xmlNode* get_object_root ( const char *  object_type,
xmlNode *  the_root 
)
Deprecated:
Use pcmk_cib_xpath_for() instead

Definition at line 1108 of file cib_utils.c.