pacemaker  2.1.9-49aab99839
Scalable High-Availability cluster resource manager
common.h
Go to the documentation of this file.
1 /*
2  * Copyright 2004-2024 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 
10 #ifndef PCMK__CRM_PENGINE_COMMON__H
11 # define PCMK__CRM_PENGINE_COMMON__H
12 
13 # include <glib.h>
14 # include <regex.h>
15 # include <crm/common/iso8601.h>
16 # include <crm/common/scheduler.h>
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 typedef struct pe_re_match_data {
23  char *string;
24  int nregs;
25  regmatch_t *pmatch;
27 
28 typedef struct pe_match_data {
30  GHashTable *params;
31  GHashTable *meta;
33 
34 typedef struct pe_rsc_eval_data {
35  const char *standard;
36  const char *provider;
37  const char *agent;
39 
40 typedef struct pe_op_eval_data {
41  const char *op_name;
42  guint interval;
44 
45 typedef struct pe_rule_eval_data {
46  GHashTable *node_hash; // Only used with g_hash_table_lookup()
48  crm_time_t *now; // @COMPAT could be const
49  pe_match_data_t *match_data; // @COMPAT could be const
50  pe_rsc_eval_data_t *rsc_data; // @COMPAT could be const
51  pe_op_eval_data_t *op_data; // @COMPAT could be const
53 
54 #if !defined(PCMK_ALLOW_DEPRECATED) || (PCMK_ALLOW_DEPRECATED == 1)
56 #endif
57 
58 #ifdef __cplusplus
59 }
60 #endif
61 
62 #endif
const char * provider
Definition: common.h:36
struct crm_time_s crm_time_t
Definition: iso8601.h:32
struct pe_rule_eval_data pe_rule_eval_data_t
pe_re_match_data_t * re
Definition: common.h:29
Deprecated Pacemaker scheduler utilities.
struct pe_re_match_data pe_re_match_data_t
Scheduler API.
guint interval
Definition: common.h:42
pe_match_data_t * match_data
Definition: common.h:49
pe_op_eval_data_t * op_data
Definition: common.h:51
struct pe_rsc_eval_data pe_rsc_eval_data_t
const char * op_name
Definition: common.h:41
rsc_role_e
Definition: roles.h:34
ISO_8601 Date handling.
struct pe_match_data pe_match_data_t
GHashTable * meta
Definition: common.h:31
pe_rsc_eval_data_t * rsc_data
Definition: common.h:50
const char * agent
Definition: common.h:37
GHashTable * params
Definition: common.h:30
const char * standard
Definition: common.h:35
crm_time_t * now
Definition: common.h:48
GHashTable * node_hash
Definition: common.h:46
regmatch_t * pmatch
Definition: common.h:25
struct pe_op_eval_data pe_op_eval_data_t
enum rsc_role_e role
Definition: common.h:47
char * string
Definition: common.h:23