rule_data 586 include/crm/pengine/internal.h pe_rule_eval_data_t *rule_data, GHashTable *hash, rule_data 50 include/crm/pengine/rules.h pe_rule_eval_data_t *rule_data, GHashTable *hash, rule_data 61 include/crm/pengine/rules.h const char *set_name, pe_rule_eval_data_t *rule_data, rule_data 69 include/crm/pengine/rules.h gboolean pe_eval_rules(xmlNode *ruleset, pe_rule_eval_data_t *rule_data, rule_data 71 include/crm/pengine/rules.h gboolean pe_eval_expr(xmlNode *rule, pe_rule_eval_data_t *rule_data, rule_data 73 include/crm/pengine/rules.h gboolean pe_eval_subexpr(xmlNode *expr, pe_rule_eval_data_t *rule_data, rule_data 24 include/crm/pengine/rules_internal.h gboolean pe__eval_attr_expr(xmlNode *expr, pe_rule_eval_data_t *rule_data); rule_data 25 include/crm/pengine/rules_internal.h int pe__eval_date_expr(xmlNode *expr, pe_rule_eval_data_t *rule_data, rule_data 27 include/crm/pengine/rules_internal.h gboolean pe__eval_op_expr(xmlNodePtr expr, pe_rule_eval_data_t *rule_data); rule_data 28 include/crm/pengine/rules_internal.h gboolean pe__eval_role_expr(xmlNode *expr, pe_rule_eval_data_t *rule_data); rule_data 29 include/crm/pengine/rules_internal.h gboolean pe__eval_rsc_expr(xmlNodePtr expr, pe_rule_eval_data_t *rule_data); rule_data 109 lib/pengine/complex.c pe_rule_eval_data_t rule_data = { rule_data 119 lib/pengine/complex.c rule_data.node_hash = node->details->attrs; rule_data 133 lib/pengine/complex.c pe__unpack_dataset_nvpairs(rsc->xml, XML_TAG_META_SETS, &rule_data, rule_data 143 lib/pengine/complex.c &rule_data, meta_hash, NULL, FALSE, data_set); rule_data 150 lib/pengine/complex.c pe_rule_eval_data_t rule_data = { rule_data 160 lib/pengine/complex.c rule_data.node_hash = node->details->attrs; rule_data 163 lib/pengine/complex.c pe__unpack_dataset_nvpairs(rsc->xml, XML_TAG_ATTR_SETS, &rule_data, rule_data 173 lib/pengine/complex.c &rule_data, meta_hash, NULL, FALSE, data_set); rule_data 182 lib/pengine/complex.c pe_rule_eval_data_t rule_data = { rule_data 192 lib/pengine/complex.c &rule_data, meta_hash, NULL); rule_data 201 lib/pengine/complex.c XML_TAG_ATTR_SETS, &rule_data, meta_hash, rule_data 409 lib/pengine/complex.c pe_rule_eval_data_t rule_data = { rule_data 746 lib/pengine/complex.c pe__unpack_dataset_nvpairs((*rsc)->xml, XML_TAG_UTILIZATION, &rule_data, rule_data 42 lib/pengine/rules.c pe_rule_eval_data_t rule_data = { rule_data 51 lib/pengine/rules.c return pe_eval_rules(ruleset, &rule_data, next_change); rule_data 59 lib/pengine/rules.c pe_rule_eval_data_t rule_data = { rule_data 68 lib/pengine/rules.c return pe_eval_expr(rule, &rule_data, next_change); rule_data 92 lib/pengine/rules.c pe_rule_eval_data_t rule_data = { rule_data 101 lib/pengine/rules.c return pe_eval_subexpr(expr, &rule_data, next_change); rule_data 146 lib/pengine/rules.c pe_rule_eval_data_t rule_data = { rule_data 155 lib/pengine/rules.c return pe__eval_role_expr(expr, &rule_data); rule_data 162 lib/pengine/rules.c pe_rule_eval_data_t rule_data = { rule_data 171 lib/pengine/rules.c return pe__eval_attr_expr(expr, &rule_data); rule_data 347 lib/pengine/rules.c pe_rule_eval_data_t rule_data = { rule_data 356 lib/pengine/rules.c switch (pe__eval_date_expr(expr, &rule_data, next_change)) { rule_data 391 lib/pengine/rules.c pe_rule_eval_data_t rule_data = { rule_data 400 lib/pengine/rules.c return pe__eval_date_expr(expr, &rule_data, next_change); rule_data 561 lib/pengine/rules.c pe_rule_eval_data_t *rule_data; rule_data 571 lib/pengine/rules.c if (!pe_eval_rules(pair->attr_set, unpack_data->rule_data, rule_data 577 lib/pengine/rules.c if (get_versioned_rule(pair->attr_set) && !(unpack_data->rule_data->node_hash && rule_data 578 lib/pengine/rules.c g_hash_table_lookup_extended(unpack_data->rule_data->node_hash, rule_data 598 lib/pengine/rules.c if (pe_eval_rules(pair->attr_set, unpack_data->rule_data, rule_data 670 lib/pengine/rules.c pe_rule_eval_data_t *rule_data, crm_time_t *next_change, rule_data 681 lib/pengine/rules.c .rule_data = rule_data rule_data 691 lib/pengine/rules.c pe_rule_eval_data_t *rule_data, GHashTable *hash, rule_data 696 lib/pengine/rules.c overwrite, rule_data, next_change, unpack_attr_set); rule_data 718 lib/pengine/rules.c pe_rule_eval_data_t rule_data = { rule_data 727 lib/pengine/rules.c pe_eval_nvpairs(top, xml_obj, set_name, &rule_data, hash, rule_data 734 lib/pengine/rules.c pe_rule_eval_data_t *rule_data, xmlNode *hash, rule_data 737 lib/pengine/rules.c unpack_nvpair_blocks(top, xml_obj, set_name, hash, NULL, FALSE, rule_data, rule_data 825 lib/pengine/rules.c pe_eval_rules(xmlNode *ruleset, pe_rule_eval_data_t *rule_data, crm_time_t *next_change) rule_data 834 lib/pengine/rules.c if (pe_eval_expr(rule, rule_data, next_change)) { rule_data 849 lib/pengine/rules.c pe_eval_expr(xmlNode *rule, pe_rule_eval_data_t *rule_data, crm_time_t *next_change) rule_data 869 lib/pengine/rules.c test = pe_eval_subexpr(expr, rule_data, next_change); rule_data 891 lib/pengine/rules.c pe_eval_subexpr(xmlNode *expr, pe_rule_eval_data_t *rule_data, crm_time_t *next_change) rule_data 898 lib/pengine/rules.c accept = pe_eval_expr(expr, rule_data, next_change); rule_data 905 lib/pengine/rules.c if (rule_data->node_hash != NULL) { rule_data 906 lib/pengine/rules.c accept = pe__eval_attr_expr(expr, rule_data); rule_data 911 lib/pengine/rules.c accept = pe_test_date_expression(expr, rule_data->now, next_change); rule_data 915 lib/pengine/rules.c accept = pe__eval_role_expr(expr, rule_data); rule_data 919 lib/pengine/rules.c accept = pe__eval_rsc_expr(expr, rule_data); rule_data 923 lib/pengine/rules.c accept = pe__eval_op_expr(expr, rule_data); rule_data 928 lib/pengine/rules.c if (rule_data->node_hash && rule_data 929 lib/pengine/rules.c g_hash_table_lookup_extended(rule_data->node_hash, rule_data 931 lib/pengine/rules.c accept = pe__eval_attr_expr(expr, rule_data); rule_data 943 lib/pengine/rules.c if (rule_data->node_hash) { rule_data 944 lib/pengine/rules.c uname = g_hash_table_lookup(rule_data->node_hash, CRM_ATTR_UNAME); rule_data 1108 lib/pengine/rules.c pe__eval_attr_expr(xmlNodePtr expr, pe_rule_eval_data_t *rule_data) rule_data 1132 lib/pengine/rules.c if (rule_data->match_data) { rule_data 1133 lib/pengine/rules.c if (rule_data->match_data->re) { rule_data 1134 lib/pengine/rules.c char *resolved_attr = pe_expand_re_matches(attr, rule_data->match_data->re); rule_data 1143 lib/pengine/rules.c table = rule_data->match_data->params; rule_data 1145 lib/pengine/rules.c table = rule_data->match_data->meta; rule_data 1160 lib/pengine/rules.c if (rule_data->node_hash != NULL) { rule_data 1161 lib/pengine/rules.c h_val = (const char *)g_hash_table_lookup(rule_data->node_hash, attr); rule_data 1175 lib/pengine/rules.c pe__eval_date_expr(xmlNodePtr expr, pe_rule_eval_data_t *rule_data, crm_time_t *next_change) rule_data 1209 lib/pengine/rules.c } else if ((start != NULL) && (crm_time_compare(rule_data->now, start) < 0)) { rule_data 1212 lib/pengine/rules.c } else if ((end != NULL) && (crm_time_compare(rule_data->now, end) > 0)) { rule_data 1224 lib/pengine/rules.c rc = pe_cron_range_satisfied(rule_data->now, date_spec); rule_data 1230 lib/pengine/rules.c } else if (crm_time_compare(rule_data->now, start) > 0) { rule_data 1243 lib/pengine/rules.c } else if (crm_time_compare(rule_data->now, end) < 0) { rule_data 1257 lib/pengine/rules.c pe__eval_op_expr(xmlNodePtr expr, pe_rule_eval_data_t *rule_data) { rule_data 1264 lib/pengine/rules.c if (rule_data->op_data == NULL) { rule_data 1275 lib/pengine/rules.c if (interval_s != NULL && interval != rule_data->op_data->interval) { rule_data 1276 lib/pengine/rules.c crm_trace("Interval doesn't match: %d != %d", interval, rule_data->op_data->interval); rule_data 1280 lib/pengine/rules.c if (!pcmk__str_eq(name, rule_data->op_data->op_name, pcmk__str_none)) { rule_data 1281 lib/pengine/rules.c crm_trace("Name doesn't match: %s != %s", name, rule_data->op_data->op_name); rule_data 1289 lib/pengine/rules.c pe__eval_role_expr(xmlNodePtr expr, pe_rule_eval_data_t *rule_data) rule_data 1295 lib/pengine/rules.c if (rule_data->role == RSC_ROLE_UNKNOWN) { rule_data 1303 lib/pengine/rules.c if (rule_data->role > RSC_ROLE_STARTED) { rule_data 1308 lib/pengine/rules.c if (rule_data->role < RSC_ROLE_SLAVE && rule_data->role > RSC_ROLE_UNKNOWN) { rule_data 1313 lib/pengine/rules.c if (text2role(value) == rule_data->role) { rule_data 1319 lib/pengine/rules.c if (rule_data->role < RSC_ROLE_SLAVE && rule_data->role > RSC_ROLE_UNKNOWN) { rule_data 1322 lib/pengine/rules.c } else if (text2role(value) != rule_data->role) { rule_data 1330 lib/pengine/rules.c pe__eval_rsc_expr(xmlNodePtr expr, pe_rule_eval_data_t *rule_data) rule_data 1338 lib/pengine/rules.c if (rule_data->rsc_data == NULL) { rule_data 1344 lib/pengine/rules.c !pcmk__str_eq(class, rule_data->rsc_data->standard, pcmk__str_none)) { rule_data 1345 lib/pengine/rules.c crm_trace("Class doesn't match: %s != %s", class, rule_data->rsc_data->standard); rule_data 1349 lib/pengine/rules.c if ((provider == NULL && rule_data->rsc_data->provider != NULL) || rule_data 1350 lib/pengine/rules.c (provider != NULL && rule_data->rsc_data->provider == NULL) || rule_data 1351 lib/pengine/rules.c !pcmk__str_eq(provider, rule_data->rsc_data->provider, pcmk__str_none)) { rule_data 1352 lib/pengine/rules.c crm_trace("Provider doesn't match: %s != %s", provider, rule_data->rsc_data->provider); rule_data 1357 lib/pengine/rules.c !pcmk__str_eq(type, rule_data->rsc_data->agent, pcmk__str_none)) { rule_data 1358 lib/pengine/rules.c crm_trace("Agent doesn't match: %s != %s", type, rule_data->rsc_data->agent); rule_data 1449 lib/pengine/rules.c pe_rule_eval_data_t rule_data = { rule_data 1459 lib/pengine/rules.c overwrite, &rule_data, NULL, unpack_attr_set); rule_data 203 lib/pengine/unpack.c pe_rule_eval_data_t rule_data = { rule_data 214 lib/pengine/unpack.c pe__unpack_dataset_nvpairs(config, XML_CIB_TAG_PROPSET, &rule_data, config_hash, rule_data 547 lib/pengine/unpack.c pe_rule_eval_data_t rule_data = { rule_data 588 lib/pengine/unpack.c pe__unpack_dataset_nvpairs(xml_obj, XML_TAG_UTILIZATION, &rule_data, rule_data 3842 lib/pengine/unpack.c pe_rule_eval_data_t rule_data = { rule_data 3872 lib/pengine/unpack.c pe__unpack_dataset_nvpairs(xml_obj, XML_TAG_ATTR_SETS, &rule_data, rule_data 579 lib/pengine/utils.c pe_rule_eval_data_t rule_data = { rule_data 590 lib/pengine/utils.c &rule_data, action->extra, NULL, rule_data 899 lib/pengine/utils.c pe_rule_eval_data_t rule_data = { rule_data 920 lib/pengine/utils.c &rule_data, action_meta, NULL, FALSE, data_set); rule_data 1012 lib/pengine/utils.c pe_rule_eval_data_t rule_data = { rule_data 1024 lib/pengine/utils.c pe__unpack_dataset_nvpairs(data_set->op_defaults, XML_TAG_META_SETS, &rule_data, rule_data 1047 lib/pengine/utils.c pe__unpack_dataset_nvpairs(xml_obj, XML_TAG_META_SETS, &rule_data, rule_data 1054 lib/pengine/utils.c XML_TAG_ATTR_SETS, &rule_data, rule_data 1058 lib/pengine/utils.c XML_TAG_META_SETS, &rule_data, rule_data 2742 lib/pengine/utils.c pe_rule_eval_data_t *rule_data, GHashTable *hash, rule_data 2748 lib/pengine/utils.c pe_eval_nvpairs(data_set->input, xml_obj, set_name, rule_data, hash,