pacemaker
2.0.1-9e909a5bdd
Scalable High-Availability cluster resource manager
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
include
crm
common
alerts_internal.h
Go to the documentation of this file.
1
/*
2
* Copyright 2015-2019 Andrew Beekhof <andrew@beekhof.net>
3
*
4
* This source code is licensed under the GNU Lesser General Public License
5
* version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
6
*/
7
8
#ifndef ALERT_INTERNAL_H
9
#define ALERT_INTERNAL_H
10
11
#include <glib.h>
12
#include <stdbool.h>
13
14
/* Default-Timeout to use before killing a alerts script (in milliseconds) */
15
# define CRM_ALERT_DEFAULT_TIMEOUT_MS (30000)
16
17
/* Default-Format-String used to pass timestamps to the alerts scripts */
18
# define CRM_ALERT_DEFAULT_TSTAMP_FORMAT "%H:%M:%S.%06N"
19
20
enum
crm_alert_flags
{
21
crm_alert_none
= 0x0000,
22
crm_alert_node
= 0x0001,
23
crm_alert_fencing
= 0x0002,
24
crm_alert_resource
= 0x0004,
25
crm_alert_attribute
= 0x0008,
26
crm_alert_default
=
crm_alert_node
|
crm_alert_fencing
|
crm_alert_resource
27
};
28
29
typedef
struct
{
30
char
*
id
;
31
char
*
path
;
32
char
*
tstamp_format
;
33
char
*
recipient
;
34
char
**
select_attribute_name
;
35
GHashTable *
envvars
;
36
int
timeout
;
37
uint32_t
flags
;
38
}
crm_alert_entry_t
;
39
40
enum
crm_alert_keys_e
{
41
CRM_alert_recipient
= 0,
42
CRM_alert_node
,
43
CRM_alert_nodeid
,
44
CRM_alert_rsc
,
45
CRM_alert_task
,
46
CRM_alert_interval
,
47
CRM_alert_desc
,
48
CRM_alert_status
,
49
CRM_alert_target_rc
,
50
CRM_alert_rc
,
51
CRM_alert_kind
,
52
CRM_alert_version
,
53
CRM_alert_node_sequence
,
54
CRM_alert_timestamp
,
55
CRM_alert_attribute_name
,
56
CRM_alert_attribute_value
,
57
CRM_alert_timestamp_epoch
,
58
CRM_alert_timestamp_usec
,
59
CRM_alert_exec_time
,
60
CRM_alert_select_kind
,
61
CRM_alert_select_attribute_name
62
};
63
64
#define CRM_ALERT_INTERNAL_KEY_MAX 19
65
#define CRM_ALERT_NODE_SEQUENCE "CRM_alert_node_sequence"
66
67
extern
const
char
*
crm_alert_keys
[
CRM_ALERT_INTERNAL_KEY_MAX
][3];
68
69
crm_alert_entry_t
*
crm_dup_alert_entry
(
crm_alert_entry_t
*entry);
70
crm_alert_entry_t
*
crm_alert_entry_new
(
const
char
*
id
,
const
char
*path);
71
void
crm_free_alert_entry
(
crm_alert_entry_t
*entry);
72
void
crm_insert_alert_key
(GHashTable *table,
enum
crm_alert_keys_e
name,
73
const
char
*value);
74
void
crm_insert_alert_key_int
(GHashTable *table,
enum
crm_alert_keys_e
name,
75
int
value);
76
void
crm_unset_alert_keys
(
void
);
77
void
crm_set_envvar_list
(
crm_alert_entry_t
*entry);
78
void
crm_unset_envvar_list
(
crm_alert_entry_t
*entry);
79
bool
crm_patchset_contains_alert
(xmlNode *msg,
bool
config);
80
81
static
inline
const
char
*
82
crm_alert_flag2text(
enum
crm_alert_flags
flag)
83
{
84
switch
(flag) {
85
case
crm_alert_node
:
86
return
"node"
;
87
case
crm_alert_fencing
:
88
return
"fencing"
;
89
case
crm_alert_resource
:
90
return
"resource"
;
91
case
crm_alert_attribute
:
92
return
"attribute"
;
93
default
:
94
return
"unknown"
;
95
}
96
}
97
#endif
crm_alert_attribute
Definition:
alerts_internal.h:25
CRM_alert_target_rc
Definition:
alerts_internal.h:49
crm_alert_keys
const char * crm_alert_keys[CRM_ALERT_INTERNAL_KEY_MAX][3]
Definition:
alerts.c:19
CRM_alert_timestamp_epoch
Definition:
alerts_internal.h:57
CRM_alert_nodeid
Definition:
alerts_internal.h:43
crm_alert_entry_t::envvars
GHashTable * envvars
Definition:
alerts_internal.h:35
CRM_alert_task
Definition:
alerts_internal.h:45
crm_alert_node
Definition:
alerts_internal.h:22
CRM_alert_select_attribute_name
Definition:
alerts_internal.h:61
crm_alert_entry_t::recipient
char * recipient
Definition:
alerts_internal.h:33
crm_alert_entry_t
Definition:
alerts_internal.h:29
CRM_alert_kind
Definition:
alerts_internal.h:51
crm_unset_envvar_list
void crm_unset_envvar_list(crm_alert_entry_t *entry)
Definition:
alerts.c:176
crm_set_envvar_list
void crm_set_envvar_list(crm_alert_entry_t *entry)
Definition:
alerts.c:165
crm_dup_alert_entry
crm_alert_entry_t * crm_dup_alert_entry(crm_alert_entry_t *entry)
Definition:
alerts.c:92
crm_alert_entry_t::flags
uint32_t flags
Definition:
alerts_internal.h:37
crm_alert_entry_t::tstamp_format
char * tstamp_format
Definition:
alerts_internal.h:32
crm_alert_entry_t::id
char * id
Definition:
alerts_internal.h:30
CRM_alert_attribute_name
Definition:
alerts_internal.h:55
CRM_alert_timestamp_usec
Definition:
alerts_internal.h:58
crm_unset_alert_keys
void crm_unset_alert_keys(void)
Definition:
alerts.c:112
CRM_alert_status
Definition:
alerts_internal.h:48
CRM_alert_attribute_value
Definition:
alerts_internal.h:56
CRM_alert_select_kind
Definition:
alerts_internal.h:60
crm_alert_default
Definition:
alerts_internal.h:26
CRM_alert_node
Definition:
alerts_internal.h:42
CRM_alert_timestamp
Definition:
alerts_internal.h:54
CRM_alert_version
Definition:
alerts_internal.h:52
crm_alert_fencing
Definition:
alerts_internal.h:23
crm_insert_alert_key_int
void crm_insert_alert_key_int(GHashTable *table, enum crm_alert_keys_e name, int value)
Definition:
alerts.c:140
CRM_alert_desc
Definition:
alerts_internal.h:47
CRM_alert_exec_time
Definition:
alerts_internal.h:59
CRM_alert_interval
Definition:
alerts_internal.h:46
CRM_alert_recipient
Definition:
alerts_internal.h:41
crm_patchset_contains_alert
bool crm_patchset_contains_alert(xmlNode *msg, bool config)
Definition:
alerts.c:206
crm_alert_entry_new
crm_alert_entry_t * crm_alert_entry_new(const char *id, const char *path)
Create a new alert entry structure.
Definition:
alerts.c:54
crm_alert_none
Definition:
alerts_internal.h:21
CRM_alert_rc
Definition:
alerts_internal.h:50
crm_alert_entry_t::select_attribute_name
char ** select_attribute_name
Definition:
alerts_internal.h:34
crm_alert_entry_t::timeout
int timeout
Definition:
alerts_internal.h:36
crm_alert_keys_e
crm_alert_keys_e
Definition:
alerts_internal.h:40
uint32_t
#define uint32_t
Definition:
stdint.in.h:158
crm_alert_entry_t::path
char * path
Definition:
alerts_internal.h:31
CRM_alert_node_sequence
Definition:
alerts_internal.h:53
crm_insert_alert_key
void crm_insert_alert_key(GHashTable *table, enum crm_alert_keys_e name, const char *value)
Definition:
alerts.c:126
crm_alert_resource
Definition:
alerts_internal.h:24
CRM_alert_rsc
Definition:
alerts_internal.h:44
crm_free_alert_entry
void crm_free_alert_entry(crm_alert_entry_t *entry)
Definition:
alerts.c:67
crm_alert_flags
crm_alert_flags
Definition:
alerts_internal.h:20
CRM_ALERT_INTERNAL_KEY_MAX
#define CRM_ALERT_INTERNAL_KEY_MAX
Definition:
alerts_internal.h:64
Generated on Thu Dec 17 2020 15:19:26 for pacemaker by
1.8.8