pacemaker  2.0.5-ba59be712
Scalable High-Availability cluster resource manager
rules_internal.h
Go to the documentation of this file.
1 /*
2  * Copyright 2015-2019 the Pacemaker project contributors
3  *
4  * The version control history for this file may have further details.
5  *
6  * This source code is licensed under the GNU Lesser General Public License
7  * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
8  */
9 #ifndef RULES_INTERNAL_H
10 #define RULES_INTERNAL_H
11 
12 #include <glib.h>
13 #include <libxml/tree.h>
14 
15 #include <crm/common/iso8601.h>
16 #include <crm/pengine/common.h>
17 #include <crm/pengine/rules.h>
18 
19 GListPtr pe_unpack_alerts(xmlNode *alerts);
20 void pe_free_alert_list(GListPtr alert_list);
21 
22 crm_time_t *pe_parse_xml_duration(crm_time_t * start, xmlNode * duration_spec);
23 
24 gboolean pe__eval_attr_expr(xmlNode *expr, pe_rule_eval_data_t *rule_data);
25 int pe__eval_date_expr(xmlNode *expr, pe_rule_eval_data_t *rule_data,
26  crm_time_t *next_change);
27 gboolean pe__eval_op_expr(xmlNodePtr expr, pe_rule_eval_data_t *rule_data);
28 gboolean pe__eval_role_expr(xmlNode *expr, pe_rule_eval_data_t *rule_data);
29 gboolean pe__eval_rsc_expr(xmlNodePtr expr, pe_rule_eval_data_t *rule_data);
30 
32  crm_time_t *now,
33  crm_time_t *next_change);
34 gboolean pe_test_date_expression(xmlNode *time_expr, crm_time_t *now,
35  crm_time_t *next_change);
36 int pe_cron_range_satisfied(crm_time_t * now, xmlNode * cron_spec);
37 gboolean pe_test_attr_expression(xmlNode *expr, GHashTable *hash, crm_time_t *now,
38  pe_match_data_t *match_data);
39 gboolean pe_test_role_expression(xmlNode * expr, enum rsc_role_e role, crm_time_t * now);
40 
41 #endif
int pe_cron_range_satisfied(crm_time_t *now, xmlNode *cron_spec)
Definition: rules.c:274
void pe_free_alert_list(GListPtr alert_list)
Definition: rules_alerts.c:247
struct crm_time_s crm_time_t
Definition: iso8601.h:32
gboolean pe__eval_role_expr(xmlNode *expr, pe_rule_eval_data_t *rule_data)
gboolean pe_test_role_expression(xmlNode *expr, enum rsc_role_e role, crm_time_t *now)
Definition: rules.c:144
GListPtr pe_unpack_alerts(xmlNode *alerts)
Definition: rules_alerts.c:178
int pe_eval_date_expression(xmlNode *time_expr, crm_time_t *now, crm_time_t *next_change)
Definition: rules.c:389
int pe__eval_date_expr(xmlNode *expr, pe_rule_eval_data_t *rule_data, crm_time_t *next_change)
gboolean pe_test_date_expression(xmlNode *time_expr, crm_time_t *now, crm_time_t *next_change)
Definition: rules.c:345
crm_time_t * pe_parse_xml_duration(crm_time_t *start, xmlNode *duration_spec)
Definition: rules.c:315
gboolean pe__eval_op_expr(xmlNodePtr expr, pe_rule_eval_data_t *rule_data)
Definition: rules.c:1257
ISO_8601 Date handling.
gboolean pe__eval_attr_expr(xmlNode *expr, pe_rule_eval_data_t *rule_data)
gboolean pe_test_attr_expression(xmlNode *expr, GHashTable *hash, crm_time_t *now, pe_match_data_t *match_data)
Definition: rules.c:159
gboolean pe__eval_rsc_expr(xmlNodePtr expr, pe_rule_eval_data_t *rule_data)
Definition: rules.c:1330
rsc_role_e
Definition: common.h:91
GList * GListPtr
Definition: crm.h:214