Go to the source code of this file.
 | 
| 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, xmlNode *xml_obj, const char *set_name, pe_rule_eval_data_t *rule_data, GHashTable *hash, const char *always_first, gboolean overwrite, crm_time_t *next_change) | 
|   | 
| void  | pe_unpack_nvpairs (xmlNode *top, 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, pe_re_match_data_t *match_data) | 
|   | 
| gboolean  | pe_eval_rules (xmlNode *ruleset, pe_rule_eval_data_t *rule_data, crm_time_t *next_change) | 
|   | 
| gboolean  | pe_eval_expr (xmlNode *rule, pe_rule_eval_data_t *rule_data, crm_time_t *next_change) | 
|   | 
| gboolean  | pe_eval_subexpr (xmlNode *expr, pe_rule_eval_data_t *rule_data, crm_time_t *next_change) | 
|   | 
◆ expression_type
| Enumerator | 
|---|
| not_expr  |  | 
| nested_rule  |  | 
| attr_expr  |  | 
| loc_expr  |  | 
| role_expr  |  | 
| time_expr  |  | 
| version_expr  |  | 
| rsc_expr  |  | 
| op_expr  |  | 
Definition at line 22 of file rules.h.
 
 
◆ find_expression_type()
◆ pe_eval_expr()
◆ pe_eval_nvpairs()
      
        
          | void pe_eval_nvpairs  | 
          ( | 
          xmlNode *  | 
          top,  | 
        
        
           | 
           | 
          xmlNode *  | 
          xml_obj,  | 
        
        
           | 
           | 
          const char *  | 
          set_name,  | 
        
        
           | 
           | 
          pe_rule_eval_data_t *  | 
          rule_data,  | 
        
        
           | 
           | 
          GHashTable *  | 
          hash,  | 
        
        
           | 
           | 
          const char *  | 
          always_first,  | 
        
        
           | 
           | 
          gboolean  | 
          overwrite,  | 
        
        
           | 
           | 
          crm_time_t *  | 
          next_change  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ pe_eval_rules()
◆ pe_eval_subexpr()
◆ pe_evaluate_rules()
      
        
          | 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. 
- Parameters
 - 
  
    | [in] | xml | XML element to check for rules  | 
    | [in] | node_hash | Node attributes to use when evaluating expressions  | 
    | [in] | now | Time to use when evaluating expressions  | 
    | [out] | next_change | If not NULL, set to when evaluation will change | 
  
   
- Returns
 - TRUE if no rules, or any of rules present is in effect, else FALSE 
 
Definition at line 39 of file rules.c.
 
 
◆ pe_expand_re_matches()
◆ pe_test_expression()
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.
- Parameters
 - 
  
    | [in] | 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 | 
  
   
- Returns
 - TRUE if expression is in effect under given conditions, else FALSE 
 
Definition at line 88 of file rules.c.
 
 
◆ pe_test_rule()
◆ pe_unpack_nvpairs()
      
        
          | void pe_unpack_nvpairs  | 
          ( | 
          xmlNode *  | 
          top,  | 
        
        
           | 
           | 
          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. 
- Parameters
 - 
  
    | [in] | 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 rule evaluation will change  | 
  
   
Definition at line 628 of file rules.c.