pacemaker
3.0.0-d8340737c4
Scalable High-Availability cluster resource manager
include
crm
crm.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_CRM__H
11
# define PCMK__CRM_CRM__H
12
13
# include <
crm_config.h
>
14
# include <stdlib.h>
15
# include <glib.h>
16
# include <stdbool.h>
17
18
# include <string.h>
19
20
# include <libxml/tree.h>
21
22
#include <
crm/common/options.h
>
23
24
#ifdef __cplusplus
25
extern
"C"
{
26
#endif
27
34
#ifndef PCMK_ALLOW_DEPRECATED
35
46
#define PCMK_ALLOW_DEPRECATED 1
47
#endif
48
66
#define CRM_FEATURE_SET "3.20.0"
67
68
/* Pacemaker's CPG protocols use fixed-width binary fields for the sender and
69
* recipient of a CPG message. This imposes an arbitrary limit on cluster node
70
* names.
71
*/
73
#define MAX_NAME 256
74
75
# define CRM_META "CRM_meta"
76
77
// NOTE: sbd (as of at least 1.5.2) uses this
78
extern
char
*
crm_system_name
;
79
80
/* Sub-systems */
81
# define CRM_SYSTEM_DC "dc"
82
#define CRM_SYSTEM_DCIB "dcib" // Primary instance of CIB manager
83
# define CRM_SYSTEM_CIB "cib"
84
# define CRM_SYSTEM_CRMD "crmd"
85
# define CRM_SYSTEM_LRMD "lrmd"
86
# define CRM_SYSTEM_PENGINE "pengine"
87
# define CRM_SYSTEM_TENGINE "tengine"
88
# define CRM_SYSTEM_MCP "pacemakerd"
89
90
// Names of internally generated node attributes
91
// @TODO Replace these with PCMK_NODE_ATTR_*
92
# define CRM_ATTR_UNAME "#uname"
93
# define CRM_ATTR_ID "#id"
94
# define CRM_ATTR_KIND "#kind"
95
# define CRM_ATTR_ROLE "#role"
96
# define CRM_ATTR_IS_DC "#is_dc"
97
# define CRM_ATTR_CLUSTER_NAME "#cluster-name"
98
# define CRM_ATTR_SITE_NAME "#site-name"
99
# define CRM_ATTR_UNFENCED "#node-unfenced"
100
# define CRM_ATTR_DIGESTS_ALL "#digests-all"
101
# define CRM_ATTR_DIGESTS_SECURE "#digests-secure"
102
# define CRM_ATTR_PROTOCOL "#attrd-protocol"
103
# define CRM_ATTR_FEATURE_SET "#feature-set"
104
105
/* Valid operations */
106
# define CRM_OP_NOOP "noop"
107
# define CRM_OP_JOIN_ANNOUNCE "join_announce"
108
# define CRM_OP_JOIN_OFFER "join_offer"
109
# define CRM_OP_JOIN_REQUEST "join_request"
110
# define CRM_OP_JOIN_ACKNAK "join_ack_nack"
111
# define CRM_OP_JOIN_CONFIRM "join_confirm"
112
# define CRM_OP_PING "ping"
113
# define CRM_OP_NODE_INFO "node-info"
114
# define CRM_OP_THROTTLE "throttle"
115
# define CRM_OP_VOTE "vote"
116
# define CRM_OP_NOVOTE "no-vote"
117
# define CRM_OP_HELLO "hello"
118
# define CRM_OP_PECALC "pe_calc"
119
# define CRM_OP_QUIT "quit"
120
# define CRM_OP_SHUTDOWN_REQ "req_shutdown"
121
# define CRM_OP_SHUTDOWN PCMK_ACTION_DO_SHUTDOWN
122
# define CRM_OP_REGISTER "register"
123
# define CRM_OP_IPC_FWD "ipc_fwd"
124
# define CRM_OP_INVOKE_LRM "lrm_invoke"
125
# define CRM_OP_LRM_DELETE PCMK_ACTION_LRM_DELETE
126
# define CRM_OP_LRM_FAIL "lrm_fail"
127
# define CRM_OP_PROBED "probe_complete"
128
# define CRM_OP_REPROBE "probe_again"
129
# define CRM_OP_CLEAR_FAILCOUNT PCMK_ACTION_CLEAR_FAILCOUNT
130
# define CRM_OP_REMOTE_STATE "remote_state"
131
# define CRM_OP_RM_NODE_CACHE "rm_node_cache"
132
# define CRM_OP_MAINTENANCE_NODES PCMK_ACTION_MAINTENANCE_NODES
133
134
/* Possible cluster membership states */
135
# define CRMD_JOINSTATE_DOWN "down"
136
# define CRMD_JOINSTATE_PENDING "pending"
137
# define CRMD_JOINSTATE_MEMBER "member"
138
# define CRMD_JOINSTATE_NACK "banned"
139
140
# include <
crm/common/actions.h
>
141
# include <
crm/common/cib.h
>
142
# include <
crm/common/logging.h
>
143
# include <
crm/common/util.h
>
144
145
#ifdef __cplusplus
146
}
147
#endif
148
149
#if !defined(PCMK_ALLOW_DEPRECATED) || (PCMK_ALLOW_DEPRECATED == 1)
150
#include <
crm/crm_compat.h
>
151
#endif
152
153
#endif
crm_config.h
crm_compat.h
Deprecated Pacemaker utilities.
actions.h
APIs related to actions.
crm_system_name
char * crm_system_name
Definition:
utils.c:44
logging.h
Wrappers for and extensions to libqb logging.
util.h
Utility functions.
cib.h
options.h
API related to options.
Generated on Wed Jan 8 2025 16:55:39 for pacemaker by
1.8.14