From 924f5ea83e48277e014ebf0d19a27187cb93e2f7 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 3 Jun 2024 15:39:28 +0200 Subject: Adding upstream version 2.1.8~rc1. Signed-off-by: Daniel Baumann --- include/crm/common/rules_internal.h | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 include/crm/common/rules_internal.h (limited to 'include/crm/common/rules_internal.h') diff --git a/include/crm/common/rules_internal.h b/include/crm/common/rules_internal.h new file mode 100644 index 0000000..5fed3f7 --- /dev/null +++ b/include/crm/common/rules_internal.h @@ -0,0 +1,38 @@ +/* + * Copyright 2004-2024 the Pacemaker project contributors + * + * The version control history for this file may have further details. + * + * This source code is licensed under the GNU Lesser General Public License + * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY. + */ + +#ifndef PCMK__CRM_COMMON_RULES_INTERNAL__H +#define PCMK__CRM_COMMON_RULES_INTERNAL__H + +#include // regmatch_t +#include // xmlNode + +#include // enum expression_type, etc. +#include // crm_time_t + +enum pcmk__combine { + pcmk__combine_unknown, + pcmk__combine_and, + pcmk__combine_or, +}; + +enum expression_type pcmk__condition_type(const xmlNode *condition); +char *pcmk__replace_submatches(const char *string, const char *match, + const regmatch_t submatches[], int nmatches); +enum pcmk__combine pcmk__parse_combine(const char *combine); + +int pcmk__evaluate_date_expression(const xmlNode *date_expression, + const crm_time_t *now, + crm_time_t *next_change); +int pcmk__evaluate_condition(xmlNode *expr, const pcmk_rule_input_t *rule_input, + crm_time_t *next_change); +int pcmk__evaluate_rules(xmlNode *xml, const pcmk_rule_input_t *rule_input, + crm_time_t *next_change); + +#endif // PCMK__CRM_COMMON_RULES_INTERNAL__H -- cgit v1.2.3