| 
    pacemaker
    2.1.6-802a72226b
    
   Scalable High-Availability cluster resource manager 
   | 
 
#include <glib.h>#include <crm/crm.h>#include <crm/common/iso8601.h>#include <crm/pengine/common.h>#include <crm/pengine/rules_compat.h>

Go to the source code of this file.
Enumerations | |
| enum | expression_type {  not_expr = 0, nested_rule = 1, attr_expr = 2, loc_expr = 3, role_expr = 4, time_expr = 5, version_expr = 6, rsc_expr = 7, op_expr = 8 }  | 
Functions | |
| enum expression_type | find_expression_type (xmlNode *expr) | 
| gboolean | pe_evaluate_rules (xmlNode *ruleset, GHashTable *node_hash, crm_time_t *now, crm_time_t *next_change) | 
| Evaluate any rules contained by given XML element.  More... | |
| gboolean | pe_test_rule (xmlNode *rule, GHashTable *node_hash, enum rsc_role_e role, crm_time_t *now, crm_time_t *next_change, pe_match_data_t *match_data) | 
| gboolean | pe_test_expression (xmlNode *expr, GHashTable *node_hash, enum rsc_role_e role, crm_time_t *now, crm_time_t *next_change, pe_match_data_t *match_data) | 
| Evaluate one rule subelement (pass/fail)  More... | |
| 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) | 
| Extract nvpair blocks contained by an XML element into a hash table.  More... | |
| 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) | 
| Extract nvpair blocks contained by an XML element into a hash table.  More... | |
| char * | pe_expand_re_matches (const char *string, const pe_re_match_data_t *match_data) | 
| Expand any regular expression submatches (%0-%9) in a string.  More... | |
| gboolean | pe_eval_rules (xmlNode *ruleset, const pe_rule_eval_data_t *rule_data, crm_time_t *next_change) | 
| Evaluate rules.  More... | |
| gboolean | pe_eval_expr (xmlNode *rule, const pe_rule_eval_data_t *rule_data, crm_time_t *next_change) | 
| Evaluate all of a rule's expressions.  More... | |
| gboolean | pe_eval_subexpr (xmlNode *expr, const pe_rule_eval_data_t *rule_data, crm_time_t *next_change) | 
| Evaluate a single rule expression, including any subexpressions.  More... | |
| enum expression_type | 
| Enumerator | |
|---|---|
| not_expr | |
| nested_rule | |
| attr_expr | |
| loc_expr | |
| role_expr | |
| time_expr | |
| version_expr | 
  | 
| rsc_expr | |
| op_expr | |
| enum expression_type find_expression_type | ( | xmlNode * | expr | ) | 
| gboolean pe_eval_expr | ( | xmlNode * | rule, | 
| const pe_rule_eval_data_t * | rule_data, | ||
| crm_time_t * | next_change | ||
| ) | 
Evaluate all of a rule's expressions.
| [in,out] | rule | XML containing a rule definition or its id-ref | 
| [in] | rule_data | Matching parameters to check against rule | 
| [out] | next_change | If not NULL, set to when evaluation will change | 
rule_data passes rule, otherwise FALSE | 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 | ||
| ) | 
Extract nvpair blocks contained by an XML element into a hash table.
| [in,out] | top | XML document root (used to expand id-ref's) | 
| [in] | xml_obj | XML element containing blocks of nvpair elements | 
| [in] | set_name | If not NULL, only use blocks of this element | 
| [in] | rule_data | Matching parameters to use when unpacking | 
| [out] | hash | Where to store extracted name/value pairs | 
| [in] | always_first | If not NULL, process block with this ID first | 
| [in] | overwrite | Whether to replace existing values with same name | 
| [out] | next_change | If not NULL, set to when evaluation will change | 
| gboolean pe_eval_rules | ( | xmlNode * | ruleset, | 
| const pe_rule_eval_data_t * | rule_data, | ||
| crm_time_t * | next_change | ||
| ) | 
| gboolean pe_eval_subexpr | ( | xmlNode * | expr, | 
| const pe_rule_eval_data_t * | rule_data, | ||
| crm_time_t * | next_change | ||
| ) | 
Evaluate a single rule expression, including any subexpressions.
| [in,out] | expr | XML containing a rule expression | 
| [in] | rule_data | Matching parameters to check against expression | 
| [out] | next_change | If not NULL, set to when evaluation will change | 
rule_data passes expr, otherwise FALSE | gboolean pe_evaluate_rules | ( | xmlNode * | ruleset, | 
| GHashTable * | node_hash, | ||
| crm_time_t * | now, | ||
| crm_time_t * | next_change | ||
| ) | 
Evaluate any rules contained by given XML element.
| [in,out] | xml | XML element to check for rules | 
| [in] | node_hash | Node attributes to use to evaluate expressions | 
| [in] | now | Time to use when evaluating expressions | 
| [out] | next_change | If not NULL, set to when evaluation will change | 
| char* pe_expand_re_matches | ( | const char * | string, | 
| const pe_re_match_data_t * | match_data | ||
| ) | 
Expand any regular expression submatches (%0-%9) in a string.
| [in] | string | String possibly containing submatch variables | 
| [in] | match_data | If not NULL, regular expression matches | 
string with submatches expanded, or NULL if there were no matches | gboolean pe_test_expression | ( | xmlNode * | expr, | 
| GHashTable * | node_hash, | ||
| enum rsc_role_e | role, | ||
| crm_time_t * | now, | ||
| crm_time_t * | next_change, | ||
| pe_match_data_t * | match_data | ||
| ) | 
Evaluate one rule subelement (pass/fail)
A rule element may contain another rule, a node attribute expression, or a date expression. Given any one of those, evaluate it and return whether it passed.
| [in,out] | expr | Rule subelement XML | 
| [in] | node_hash | Node attributes to use when evaluating expression | 
| [in] | role | Resource role to use when evaluating expression | 
| [in] | now | Time to use when evaluating expression | 
| [out] | next_change | If not NULL, set to when evaluation will change | 
| [in] | match_data | If not NULL, resource back-references and params | 
| gboolean pe_test_rule | ( | xmlNode * | rule, | 
| GHashTable * | node_hash, | ||
| enum rsc_role_e | role, | ||
| crm_time_t * | now, | ||
| crm_time_t * | next_change, | ||
| pe_match_data_t * | match_data | ||
| ) | 
| 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 | ||
| ) | 
Extract nvpair blocks contained by an XML element into a hash table.
| [in,out] | top | XML document root (used to expand id-ref's) | 
| [in] | xml_obj | XML element containing blocks of nvpair elements | 
| [in] | set_name | Element name to identify nvpair blocks | 
| [in] | node_hash | Node attributes to use when evaluating rules | 
| [out] | hash | Where to store extracted name/value pairs | 
| [in] | always_first | If not NULL, process block with this ID first | 
| [in] | overwrite | Whether to replace existing values with same name | 
| [in] | now | Time to use when evaluating rules | 
| [out] | next_change | If not NULL, set to when evaluation will change | 
 1.8.14