This source file includes following definitions.
- recovery2text
1
2
3
4
5
6
7
8
9
10 #ifndef PE_COMMON__H
11 # define PE_COMMON__H
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 # include <glib.h>
18 # include <regex.h>
19
20 # include <crm/common/iso8601.h>
21
22 extern gboolean was_processing_error;
23 extern gboolean was_processing_warning;
24
25
26
27
28
29
30
31
32
33
34 enum action_fail_response {
35 action_fail_ignore,
36
37 action_fail_recover,
38
39
40 action_fail_migrate,
41 action_fail_block,
42 action_fail_stop,
43 action_fail_standby,
44 action_fail_fence,
45
46
47
48 action_fail_restart_container,
49
50
51
52
53
54
55
56 action_fail_reset_remote,
57
58 action_fail_demote,
59 };
60
61
62 enum action_tasks {
63 no_action,
64 monitor_rsc,
65 stop_rsc,
66 stopped_rsc,
67 start_rsc,
68 started_rsc,
69 action_notify,
70 action_notified,
71 action_promote,
72 action_promoted,
73 action_demote,
74 action_demoted,
75 shutdown_crm,
76 stonith_node
77 };
78
79 enum rsc_recovery_type {
80 recovery_stop_start,
81 recovery_stop_only,
82 recovery_block
83 };
84
85 enum rsc_start_requirement {
86 rsc_req_nothing,
87 rsc_req_quorum,
88 rsc_req_stonith
89 };
90
91 enum rsc_role_e {
92 RSC_ROLE_UNKNOWN,
93 RSC_ROLE_STOPPED,
94 RSC_ROLE_STARTED,
95 RSC_ROLE_SLAVE,
96 RSC_ROLE_MASTER,
97 };
98
99 # define RSC_ROLE_MAX RSC_ROLE_MASTER+1
100
101 # define RSC_ROLE_UNKNOWN_S "Unknown"
102 # define RSC_ROLE_STOPPED_S "Stopped"
103 # define RSC_ROLE_STARTED_S "Started"
104 # define RSC_ROLE_SLAVE_S "Slave"
105 # define RSC_ROLE_MASTER_S "Master"
106
107 enum pe_print_options {
108 pe_print_log = (1 << 0),
109 pe_print_html = (1 << 1),
110 pe_print_ncurses = (1 << 2),
111 pe_print_printf = (1 << 3),
112 pe_print_dev = (1 << 4),
113 pe_print_details = (1 << 5),
114 pe_print_max_details = (1 << 6),
115 pe_print_rsconly = (1 << 7),
116 pe_print_ops = (1 << 8),
117 pe_print_suppres_nl = (1 << 9),
118 pe_print_xml = (1 << 10),
119 pe_print_brief = (1 << 11),
120 pe_print_pending = (1 << 12),
121 pe_print_clone_details = (1 << 13),
122 pe_print_clone_active = (1 << 14),
123 pe_print_implicit = (1 << 15)
124 };
125
126 const char *task2text(enum action_tasks task);
127 enum action_tasks text2task(const char *task);
128 enum rsc_role_e text2role(const char *role);
129 const char *role2text(enum rsc_role_e role);
130 const char *fail2text(enum action_fail_response fail);
131
132 const char *pe_pref(GHashTable * options, const char *name);
133 void calculate_active_ops(GList * sorted_op_list, int *start_index, int *stop_index);
134
135 static inline const char *
136 recovery2text(enum rsc_recovery_type type)
137 {
138 switch (type) {
139 case recovery_stop_only:
140 return "shutting it down";
141 case recovery_stop_start:
142 return "attempting recovery";
143 case recovery_block:
144 return "waiting for an administrator";
145 }
146 return "Unknown";
147 }
148
149 typedef struct pe_re_match_data {
150 char *string;
151 int nregs;
152 regmatch_t *pmatch;
153 } pe_re_match_data_t;
154
155 typedef struct pe_match_data {
156 pe_re_match_data_t *re;
157 GHashTable *params;
158 GHashTable *meta;
159 } pe_match_data_t;
160
161 typedef struct pe_rsc_eval_data {
162 const char *standard;
163 const char *provider;
164 const char *agent;
165 } pe_rsc_eval_data_t;
166
167 typedef struct pe_op_eval_data {
168 const char *op_name;
169 guint interval;
170 } pe_op_eval_data_t;
171
172 typedef struct pe_rule_eval_data {
173 GHashTable *node_hash;
174 enum rsc_role_e role;
175 crm_time_t *now;
176 pe_match_data_t *match_data;
177 pe_rsc_eval_data_t *rsc_data;
178 pe_op_eval_data_t *op_data;
179 } pe_rule_eval_data_t;
180
181 #ifdef __cplusplus
182 }
183 #endif
184
185 #endif