pacemaker 2.1.5-a3f44794f94
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>
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_CONFIG_ERRORS "config-errors"
80#define PCMK__XA_CONFIG_WARNINGS "config-warnings"
81#define PCMK__XA_GRAPH_ERRORS "graph-errors"
82#define PCMK__XA_GRAPH_WARNINGS "graph-warnings"
83#define PCMK__XA_MODE "mode"
84#define PCMK__XA_TASK "task"
85
86
87/*
88 * IPC service names that are only used internally
89 */
90
91# define PCMK__SERVER_BASED_RO "cib_ro"
92# define PCMK__SERVER_BASED_RW "cib_rw"
93# define PCMK__SERVER_BASED_SHM "cib_shm"
94
95/*
96 * IPC commands that can be sent to Pacemaker daemons
97 */
98
99#define PCMK__ATTRD_CMD_PEER_REMOVE "peer-remove"
100#define PCMK__ATTRD_CMD_UPDATE "update"
101#define PCMK__ATTRD_CMD_UPDATE_BOTH "update-both"
102#define PCMK__ATTRD_CMD_UPDATE_DELAY "update-delay"
103#define PCMK__ATTRD_CMD_QUERY "query"
104#define PCMK__ATTRD_CMD_REFRESH "refresh"
105#define PCMK__ATTRD_CMD_FLUSH "flush"
106#define PCMK__ATTRD_CMD_SYNC "sync"
107#define PCMK__ATTRD_CMD_SYNC_RESPONSE "sync-response"
108#define PCMK__ATTRD_CMD_CLEAR_FAILURE "clear-failure"
109
110#define PCMK__CONTROLD_CMD_NODES "list-nodes"
111
112#endif /* CRM_INTERNAL__H */
Wrappers for and extensions to libqb logging.
Resource agent executor.
Formatted output for pacemaker tools.