pacemaker  2.1.0-7c3f660
Scalable High-Availability cluster resource manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions | Variables
internal.h File Reference
#include <crm/cib.h>
#include <crm/common/ipc_internal.h>
#include <crm/common/output_internal.h>
Include dependency graph for internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  cib_notify_client_s
 
struct  cib_callback_client_s
 
struct  timer_rec_s
 

Macros

#define CIB_OP_SLAVE   "cib_slave"
 
#define CIB_OP_SLAVEALL   "cib_slave_all"
 
#define CIB_OP_MASTER   "cib_master"
 
#define CIB_OP_SYNC   "cib_sync"
 
#define CIB_OP_SYNC_ONE   "cib_sync_one"
 
#define CIB_OP_ISMASTER   "cib_ismaster"
 
#define CIB_OP_BUMP   "cib_bump"
 
#define CIB_OP_QUERY   "cib_query"
 
#define CIB_OP_CREATE   "cib_create"
 
#define CIB_OP_MODIFY   "cib_modify"
 
#define CIB_OP_DELETE   "cib_delete"
 
#define CIB_OP_ERASE   "cib_erase"
 
#define CIB_OP_REPLACE   "cib_replace"
 
#define CIB_OP_APPLY_DIFF   "cib_apply_diff"
 
#define CIB_OP_UPGRADE   "cib_upgrade"
 
#define CIB_OP_DELETE_ALT   "cib_delete_alt"
 
#define F_CIB_CLIENTID   "cib_clientid"
 
#define F_CIB_CALLOPTS   "cib_callopt"
 
#define F_CIB_CALLID   "cib_callid"
 
#define F_CIB_CALLDATA   "cib_calldata"
 
#define F_CIB_OPERATION   "cib_op"
 
#define F_CIB_ISREPLY   "cib_isreplyto"
 
#define F_CIB_SECTION   "cib_section"
 
#define F_CIB_HOST   "cib_host"
 
#define F_CIB_RC   "cib_rc"
 
#define F_CIB_UPGRADE_RC   "cib_upgrade_rc"
 
#define F_CIB_DELEGATED   "cib_delegated_from"
 
#define F_CIB_OBJID   "cib_object"
 
#define F_CIB_OBJTYPE   "cib_object_type"
 
#define F_CIB_EXISTING   "cib_existing_object"
 
#define F_CIB_SEENCOUNT   "cib_seen"
 
#define F_CIB_TIMEOUT   "cib_timeout"
 
#define F_CIB_UPDATE   "cib_update"
 
#define F_CIB_CALLBACK_TOKEN   "cib_async_id"
 
#define F_CIB_GLOBAL_UPDATE   "cib_update"
 
#define F_CIB_UPDATE_RESULT   "cib_update_result"
 
#define F_CIB_CLIENTNAME   "cib_clientname"
 
#define F_CIB_NOTIFY_TYPE   "cib_notify_type"
 
#define F_CIB_NOTIFY_ACTIVATE   "cib_notify_activate"
 
#define F_CIB_UPDATE_DIFF   "cib_update_diff"
 
#define F_CIB_USER   "cib_user"
 
#define F_CIB_LOCAL_NOTIFY_ID   "cib_local_notify_id"
 
#define F_CIB_PING_ID   "cib_ping_id"
 
#define F_CIB_SCHEMA_MAX   "cib_schema_max"
 
#define T_CIB   "cib"
 
#define T_CIB_NOTIFY   "cib_notify"
 
#define T_CIB_PRE_NOTIFY   "cib_pre_notify"
 
#define T_CIB_POST_NOTIFY   "cib_post_notify"
 
#define T_CIB_UPDATE_CONFIRM   "cib_update_confirmation"
 
#define T_CIB_REPLACE_NOTIFY   "cib_refresh_notify"
 
#define cib__set_call_options(cib_call_opts, call_for, flags_to_set)
 
#define cib__clear_call_options(cib_call_opts, call_for, flags_to_clear)
 

Typedefs

typedef struct cib_notify_client_s cib_notify_client_t
 
typedef struct
cib_callback_client_s 
cib_callback_client_t
 
typedef int(* cib_op_t )(const char *, int, const char *, xmlNode *, xmlNode *, xmlNode *, xmlNode **, xmlNode **)
 

Functions

gboolean cib_diff_version_details (xmlNode *diff, int *admin_epoch, int *epoch, int *updates, int *_admin_epoch, int *_epoch, int *_updates)
 
gboolean cib_read_config (GHashTable *options, xmlNode *current_cib)
 
void verify_cib_options (GHashTable *options)
 
gboolean cib_internal_config_changed (xmlNode *diff)
 
cib_tcib_new_variant (void)
 
int cib_perform_op (const char *op, int call_options, cib_op_t *fn, gboolean is_query, const char *section, xmlNode *req, xmlNode *input, gboolean manage_counters, gboolean *config_changed, xmlNode *current_cib, xmlNode **result_cib, xmlNode **diff, xmlNode **output)
 
xmlNode * cib_create_op (int call_id, const char *token, const char *op, const char *host, const char *section, xmlNode *data, int call_options, const char *user_name)
 
void cib_native_callback (cib_t *cib, xmlNode *msg, int call_id, int rc)
 
void cib_native_notify (gpointer data, gpointer user_data)
 
int cib_native_register_notification (cib_t *cib, const char *callback, int enabled)
 
gboolean cib_client_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 cib_client_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 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_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)
 
int cib_process_replace (const char *op, int options, const char *section, xmlNode *req, xmlNode *input, xmlNode *existing_cib, xmlNode **result_cib, xmlNode **answer)
 
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_process_modify (const char *op, int options, const char *section, xmlNode *req, xmlNode *input, xmlNode *existing_cib, xmlNode **result_cib, xmlNode **answer)
 
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_diff (const char *op, int options, const char *section, xmlNode *req, xmlNode *input, xmlNode *existing_cib, xmlNode **result_cib, xmlNode **answer)
 
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_xpath (const char *op, int options, const char *section, xmlNode *req, xmlNode *input, xmlNode *existing_cib, xmlNode **result_cib, xmlNode **answer)
 
gboolean cib_config_changed (xmlNode *last, xmlNode *next, xmlNode **diff)
 
gboolean update_results (xmlNode *failed, xmlNode *target, const char *operation, int return_code)
 
int cib_update_counter (xmlNode *xml_obj, const char *field, gboolean reset)
 
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_file_read_and_verify (const char *filename, const char *sigfile, xmlNode **root)
 
int cib_file_write_with_digest (xmlNode *cib_root, const char *cib_dirname, const char *cib_filename)
 
void cib__set_output (cib_t *cib, pcmk__output_t *out)
 

Variables

GHashTable * cib_op_callback_table
 

Macro Definition Documentation

#define cib__clear_call_options (   cib_call_opts,
  call_for,
  flags_to_clear 
)
Value:
do { \
cib_call_opts = pcmk__clear_flags_as(__func__, __LINE__, \
LOG_TRACE, "CIB call", (call_for), (cib_call_opts), \
(flags_to_clear), #flags_to_clear); \
} while (0)
#define LOG_TRACE
Definition: logging.h:36

Definition at line 108 of file internal.h.

#define cib__set_call_options (   cib_call_opts,
  call_for,
  flags_to_set 
)
Value:
do { \
cib_call_opts = pcmk__set_flags_as(__func__, __LINE__, \
LOG_TRACE, "CIB call", (call_for), (cib_call_opts), \
(flags_to_set), #flags_to_set); \
} while (0)
#define LOG_TRACE
Definition: logging.h:36

Definition at line 102 of file internal.h.

#define CIB_OP_APPLY_DIFF   "cib_apply_diff"

Definition at line 29 of file internal.h.

#define CIB_OP_BUMP   "cib_bump"

Definition at line 22 of file internal.h.

#define CIB_OP_CREATE   "cib_create"

Definition at line 24 of file internal.h.

#define CIB_OP_DELETE   "cib_delete"

Definition at line 26 of file internal.h.

#define CIB_OP_DELETE_ALT   "cib_delete_alt"

Definition at line 31 of file internal.h.

#define CIB_OP_ERASE   "cib_erase"

Definition at line 27 of file internal.h.

#define CIB_OP_ISMASTER   "cib_ismaster"

Definition at line 21 of file internal.h.

#define CIB_OP_MASTER   "cib_master"

Definition at line 18 of file internal.h.

#define CIB_OP_MODIFY   "cib_modify"

Definition at line 25 of file internal.h.

#define CIB_OP_QUERY   "cib_query"

Definition at line 23 of file internal.h.

#define CIB_OP_REPLACE   "cib_replace"

Definition at line 28 of file internal.h.

#define CIB_OP_SLAVE   "cib_slave"

Definition at line 16 of file internal.h.

#define CIB_OP_SLAVEALL   "cib_slave_all"

Definition at line 17 of file internal.h.

#define CIB_OP_SYNC   "cib_sync"

Definition at line 19 of file internal.h.

#define CIB_OP_SYNC_ONE   "cib_sync_one"

Definition at line 20 of file internal.h.

#define CIB_OP_UPGRADE   "cib_upgrade"

Definition at line 30 of file internal.h.

#define F_CIB_CALLBACK_TOKEN   "cib_async_id"

Definition at line 50 of file internal.h.

#define F_CIB_CALLDATA   "cib_calldata"

Definition at line 36 of file internal.h.

#define F_CIB_CALLID   "cib_callid"

Definition at line 35 of file internal.h.

#define F_CIB_CALLOPTS   "cib_callopt"

Definition at line 34 of file internal.h.

#define F_CIB_CLIENTID   "cib_clientid"

Definition at line 33 of file internal.h.

#define F_CIB_CLIENTNAME   "cib_clientname"

Definition at line 53 of file internal.h.

#define F_CIB_DELEGATED   "cib_delegated_from"

Definition at line 43 of file internal.h.

#define F_CIB_EXISTING   "cib_existing_object"

Definition at line 46 of file internal.h.

#define F_CIB_GLOBAL_UPDATE   "cib_update"

Definition at line 51 of file internal.h.

#define F_CIB_HOST   "cib_host"

Definition at line 40 of file internal.h.

#define F_CIB_ISREPLY   "cib_isreplyto"

Definition at line 38 of file internal.h.

#define F_CIB_LOCAL_NOTIFY_ID   "cib_local_notify_id"

Definition at line 58 of file internal.h.

#define F_CIB_NOTIFY_ACTIVATE   "cib_notify_activate"

Definition at line 55 of file internal.h.

#define F_CIB_NOTIFY_TYPE   "cib_notify_type"

Definition at line 54 of file internal.h.

#define F_CIB_OBJID   "cib_object"

Definition at line 44 of file internal.h.

#define F_CIB_OBJTYPE   "cib_object_type"

Definition at line 45 of file internal.h.

#define F_CIB_OPERATION   "cib_op"

Definition at line 37 of file internal.h.

#define F_CIB_PING_ID   "cib_ping_id"

Definition at line 59 of file internal.h.

#define F_CIB_RC   "cib_rc"

Definition at line 41 of file internal.h.

#define F_CIB_SCHEMA_MAX   "cib_schema_max"

Definition at line 60 of file internal.h.

#define F_CIB_SECTION   "cib_section"

Definition at line 39 of file internal.h.

#define F_CIB_SEENCOUNT   "cib_seen"

Definition at line 47 of file internal.h.

#define F_CIB_TIMEOUT   "cib_timeout"

Definition at line 48 of file internal.h.

#define F_CIB_UPDATE   "cib_update"

Definition at line 49 of file internal.h.

#define F_CIB_UPDATE_DIFF   "cib_update_diff"

Definition at line 56 of file internal.h.

#define F_CIB_UPDATE_RESULT   "cib_update_result"

Definition at line 52 of file internal.h.

#define F_CIB_UPGRADE_RC   "cib_upgrade_rc"

Definition at line 42 of file internal.h.

#define F_CIB_USER   "cib_user"

Definition at line 57 of file internal.h.

#define T_CIB   "cib"

Definition at line 62 of file internal.h.

#define T_CIB_NOTIFY   "cib_notify"

Definition at line 63 of file internal.h.

#define T_CIB_POST_NOTIFY   "cib_post_notify"

Definition at line 66 of file internal.h.

#define T_CIB_PRE_NOTIFY   "cib_pre_notify"

Definition at line 65 of file internal.h.

#define T_CIB_REPLACE_NOTIFY   "cib_refresh_notify"

Definition at line 68 of file internal.h.

#define T_CIB_UPDATE_CONFIRM   "cib_update_confirmation"

Definition at line 67 of file internal.h.

Typedef Documentation

typedef int(* cib_op_t)(const char *, int, const char *, xmlNode *, xmlNode *, xmlNode *, xmlNode **, xmlNode **)

Definition at line 114 of file internal.h.

Function Documentation

void cib__set_output ( cib_t cib,
pcmk__output_t out 
)

Definition at line 616 of file cib_remote.c.

gboolean cib_client_register_callback ( cib_t cib,
int  call_id,
int  timeout,
gboolean  only_success,
void *  user_data,
const char *  callback_name,
void(*)(xmlNode *, int, int, xmlNode *, void *)  callback 
)

Definition at line 599 of file cib_client.c.

gboolean cib_client_register_callback_full ( cib_t cib,
int  call_id,
int  timeout,
gboolean  only_success,
void *  user_data,
const char *  callback_name,
void(*)(xmlNode *, int, int, xmlNode *, void *)  callback,
void(*)(void *)  free_func 
)

Definition at line 609 of file cib_client.c.

gboolean cib_config_changed ( xmlNode *  last,
xmlNode *  next,
xmlNode **  diff 
)

Definition at line 603 of file cib_ops.c.

xmlNode* cib_create_op ( int  call_id,
const char *  token,
const char *  op,
const char *  host,
const char *  section,
xmlNode *  data,
int  call_options,
const char *  user_name 
)

Definition at line 514 of file cib_utils.c.

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

Definition at line 93 of file cib_utils.c.

int cib_file_read_and_verify ( const char *  filename,
const char *  sigfile,
xmlNode **  root 
)

Definition at line 141 of file cib_file.c.

int cib_file_write_with_digest ( xmlNode *  cib_root,
const char *  cib_dirname,
const char *  cib_filename 
)

Definition at line 362 of file cib_file.c.

gboolean cib_internal_config_changed ( xmlNode *  diff)

Definition at line 703 of file cib_utils.c.

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 719 of file cib_utils.c.

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

Definition at line 547 of file cib_utils.c.

void cib_native_notify ( gpointer  data,
gpointer  user_data 
)

Definition at line 594 of file cib_utils.c.

int cib_native_register_notification ( cib_t cib,
const char *  callback,
int  enabled 
)

Definition at line 460 of file cib_native.c.

cib_t* cib_new_variant ( void  )

Definition at line 352 of file cib_client.c.

int cib_perform_op ( const char *  op,
int  call_options,
cib_op_t fn,
gboolean  is_query,
const char *  section,
xmlNode *  req,
xmlNode *  input,
gboolean  manage_counters,
gboolean *  config_changed,
xmlNode *  current_cib,
xmlNode **  result_cib,
xmlNode **  diff,
xmlNode **  output 
)

Definition at line 222 of file cib_utils.c.

int cib_process_bump ( const char *  op,
int  options,
const char *  section,
xmlNode *  req,
xmlNode *  input,
xmlNode *  existing_cib,
xmlNode **  result_cib,
xmlNode **  answer 
)

Definition at line 127 of file cib_ops.c.

int cib_process_create ( const char *  op,
int  options,
const char *  section,
xmlNode *  req,
xmlNode *  input,
xmlNode *  existing_cib,
xmlNode **  result_cib,
xmlNode **  answer 
)

Definition at line 519 of file cib_ops.c.

int cib_process_delete ( const char *  op,
int  options,
const char *  section,
xmlNode *  req,
xmlNode *  input,
xmlNode *  existing_cib,
xmlNode **  result_cib,
xmlNode **  answer 
)

Definition at line 280 of file cib_ops.c.

int cib_process_diff ( const char *  op,
int  options,
const char *  section,
xmlNode *  req,
xmlNode *  input,
xmlNode *  existing_cib,
xmlNode **  result_cib,
xmlNode **  answer 
)

Definition at line 584 of file cib_ops.c.

int cib_process_erase ( const char *  op,
int  options,
const char *  section,
xmlNode *  req,
xmlNode *  input,
xmlNode *  existing_cib,
xmlNode **  result_cib,
xmlNode **  answer 
)

Definition at line 75 of file cib_ops.c.

int cib_process_modify ( const char *  op,
int  options,
const char *  section,
xmlNode *  req,
xmlNode *  input,
xmlNode *  existing_cib,
xmlNode **  result_cib,
xmlNode **  answer 
)

Definition at line 315 of file cib_ops.c.

int cib_process_query ( const char *  op,
int  options,
const char *  section,
xmlNode *  req,
xmlNode *  input,
xmlNode *  existing_cib,
xmlNode **  result_cib,
xmlNode **  answer 
)

Definition at line 30 of file cib_ops.c.

int cib_process_replace ( const char *  op,
int  options,
const char *  section,
xmlNode *  req,
xmlNode *  input,
xmlNode *  existing_cib,
xmlNode **  result_cib,
xmlNode **  answer 
)

Definition at line 168 of file cib_ops.c.

int cib_process_upgrade ( const char *  op,
int  options,
const char *  section,
xmlNode *  req,
xmlNode *  input,
xmlNode *  existing_cib,
xmlNode **  result_cib,
xmlNode **  answer 
)

Definition at line 92 of file cib_ops.c.

int cib_process_xpath ( const char *  op,
int  options,
const char *  section,
xmlNode *  req,
xmlNode *  input,
xmlNode *  existing_cib,
xmlNode **  result_cib,
xmlNode **  answer 
)

Definition at line 675 of file cib_ops.c.

gboolean cib_read_config ( GHashTable *  options,
xmlNode *  current_cib 
)

Definition at line 671 of file cib_utils.c.

int cib_update_counter ( xmlNode *  xml_obj,
const char *  field,
gboolean  reset 
)

Definition at line 142 of file cib_ops.c.

gboolean update_results ( xmlNode *  failed,
xmlNode *  target,
const char *  operation,
int  return_code 
)

Definition at line 816 of file cib_ops.c.

void verify_cib_options ( GHashTable *  options)

Definition at line 658 of file cib_utils.c.

Variable Documentation

GHashTable* cib_op_callback_table

Definition at line 28 of file cib_client.c.