1
2
3
4
5
6
7
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;
26 } pe_re_match_data_t;
27
28 typedef struct pe_match_data {
29 pe_re_match_data_t *re;
30 GHashTable *params;
31 GHashTable *meta;
32 } pe_match_data_t;
33
34 typedef struct pe_rsc_eval_data {
35 const char *standard;
36 const char *provider;
37 const char *agent;
38 } pe_rsc_eval_data_t;
39
40 typedef struct pe_op_eval_data {
41 const char *op_name;
42 guint interval;
43 } pe_op_eval_data_t;
44
45 typedef struct pe_rule_eval_data {
46 GHashTable *node_hash;
47 enum rsc_role_e role;
48 crm_time_t *now;
49 pe_match_data_t *match_data;
50 pe_rsc_eval_data_t *rsc_data;
51 pe_op_eval_data_t *op_data;
52 } pe_rule_eval_data_t;
53
54 #if !defined(PCMK_ALLOW_DEPRECATED) || (PCMK_ALLOW_DEPRECATED == 1)
55 #include <crm/pengine/common_compat.h>
56 #endif
57
58 #ifdef __cplusplus
59 }
60 #endif
61
62 #endif