pacemaker  2.1.3-ea053b43a
Scalable High-Availability cluster resource manager
crm_internal.h
Go to the documentation of this file.
1 /*
2  * Copyright 2006-2021 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 CRM_INTERNAL__H
11 # define CRM_INTERNAL__H
12 
13 # ifndef PCMK__CONFIG_H
14 # define PCMK__CONFIG_H
15 # include <config.h>
16 # endif
17 
18 # include <portability.h>
19 
20 /* Our minimum glib dependency is 2.42. Define that as both the minimum and
21  * maximum glib APIs that are allowed (i.e. APIs that were already deprecated
22  * in 2.42, and APIs introduced after 2.42, cannot be used by Pacemaker code).
23  */
24 #define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_42
25 #define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_42
26 
27 # include <glib.h>
28 # include <stdbool.h>
29 # include <libxml/tree.h>
30 
31 /* Public API headers can guard including deprecated API headers with this
32  * symbol, thus preventing internal code (which includes this header) from using
33  * deprecated APIs, while still allowing external code to use them by default.
34  */
35 #define PCMK_ALLOW_DEPRECATED 0
36 
37 # include <crm/lrmd.h>
38 # include <crm/common/logging.h>
40 # include <crm/common/ipc_internal.h>
43 # include <crm/common/xml_internal.h>
44 # include <crm/common/internal.h>
45 # include <locale.h>
46 # include <gettext.h>
47 
48 #define N_(String) (String)
49 
50 #ifdef ENABLE_NLS
51 # define _(String) gettext(String)
52 #else
53 # define _(String) (String)
54 #endif
55 
56 
57 /*
58  * XML attribute names used only by internal code
59  */
60 
61 #define PCMK__XA_ATTR_DAMPENING "attr_dampening"
62 #define PCMK__XA_ATTR_FORCE "attrd_is_force_write"
63 #define PCMK__XA_ATTR_INTERVAL "attr_clear_interval"
64 #define PCMK__XA_ATTR_IS_PRIVATE "attr_is_private"
65 #define PCMK__XA_ATTR_IS_REMOTE "attr_is_remote"
66 #define PCMK__XA_ATTR_NAME "attr_name"
67 #define PCMK__XA_ATTR_NODE_ID "attr_host_id"
68 #define PCMK__XA_ATTR_NODE_NAME "attr_host"
69 #define PCMK__XA_ATTR_OPERATION "attr_clear_operation"
70 #define PCMK__XA_ATTR_PATTERN "attr_regex"
71 #define PCMK__XA_ATTR_RESOURCE "attr_resource"
72 #define PCMK__XA_ATTR_SECTION "attr_section"
73 #define PCMK__XA_ATTR_SET "attr_set"
74 #define PCMK__XA_ATTR_USER "attr_user"
75 #define PCMK__XA_ATTR_UUID "attr_key"
76 #define PCMK__XA_ATTR_VALUE "attr_value"
77 #define PCMK__XA_ATTR_VERSION "attr_version"
78 #define PCMK__XA_ATTR_WRITER "attr_writer"
79 #define PCMK__XA_MODE "mode"
80 #define PCMK__XA_TASK "task"
81 
82 
83 /*
84  * IPC service names that are only used internally
85  */
86 
87 # define PCMK__SERVER_BASED_RO "cib_ro"
88 # define PCMK__SERVER_BASED_RW "cib_rw"
89 # define PCMK__SERVER_BASED_SHM "cib_shm"
90 
91 /*
92  * IPC commands that can be sent to Pacemaker daemons
93  */
94 
95 #define PCMK__ATTRD_CMD_PEER_REMOVE "peer-remove"
96 #define PCMK__ATTRD_CMD_UPDATE "update"
97 #define PCMK__ATTRD_CMD_UPDATE_BOTH "update-both"
98 #define PCMK__ATTRD_CMD_UPDATE_DELAY "update-delay"
99 #define PCMK__ATTRD_CMD_QUERY "query"
100 #define PCMK__ATTRD_CMD_REFRESH "refresh"
101 #define PCMK__ATTRD_CMD_FLUSH "flush"
102 #define PCMK__ATTRD_CMD_SYNC "sync"
103 #define PCMK__ATTRD_CMD_SYNC_RESPONSE "sync-response"
104 #define PCMK__ATTRD_CMD_CLEAR_FAILURE "clear-failure"
105 
106 #define PCMK__CONTROLD_CMD_NODES "list-nodes"
107 
108 #endif /* CRM_INTERNAL__H */
Resource agent executor.
Wrappers for and extensions to libqb logging.
Formatted output for pacemaker tools.