14#include <libxml/tree.h>
36 .node_attrs = node_hash,
81 const char *always_first, gboolean overwrite,
89 .first_id = always_first,
90 .overwrite = overwrite,
91 .next_change = next_change,
94 map_rule_input(&(
data.rule_input), rule_data);
104 GHashTable *node_hash, GHashTable *hash,
105 const char *always_first, gboolean overwrite,
109 .node_hash = node_hash,
117 always_first, overwrite, next_change);
int pcmk_evaluate_rule(xmlNode *rule, const pcmk_rule_input_t *rule_input, crm_time_t *next_change)
Evaluate a single rule, including all its conditions.
Deprecated Pacemaker shared API for scheduler and rules.
struct crm_time_s crm_time_t
#define CRM_TRACE_INIT_DATA(name)
void pcmk__unpack_nvpair_block(gpointer data, gpointer user_data)
gint pcmk__cmp_nvpair_blocks(gconstpointer a, gconstpointer b, gpointer user_data)
Scheduler API for resource roles.
gboolean test_rule(xmlNode *rule, GHashTable *node_hash, enum rsc_role_e role, crm_time_t *now)
void pe_unpack_nvpairs(xmlNode *top, const xmlNode *xml_obj, const char *set_name, GHashTable *node_hash, GHashTable *hash, const char *always_first, gboolean overwrite, crm_time_t *now, crm_time_t *next_change)
void pe_eval_nvpairs(xmlNode *top, const xmlNode *xml_obj, const char *set_name, const pe_rule_eval_data_t *rule_data, GHashTable *hash, const char *always_first, gboolean overwrite, crm_time_t *next_change)
Deprecated Pacemaker rule API.
pe_rsc_eval_data_t * rsc_data
pe_match_data_t * match_data
pe_op_eval_data_t * op_data
Wrappers for and extensions to libxml2.
GList * pcmk__xe_dereference_children(const xmlNode *xml, const char *element_name)