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> 39 # include <crm/common/logging_internal.h> 40 # include <crm/common/ipc_internal.h> 41 # include <crm/common/options_internal.h> 42 # include <crm/common/output_internal.h> 43 # include <crm/common/xml_internal.h> 44 # include <crm/common/internal.h> 45 46 47 /* 48 * XML attribute names used only by internal code 49 */ 50 51 #define PCMK__XA_ATTR_DAMPENING "attr_dampening" 52 #define PCMK__XA_ATTR_FORCE "attrd_is_force_write" 53 #define PCMK__XA_ATTR_INTERVAL "attr_clear_interval" 54 #define PCMK__XA_ATTR_IS_PRIVATE "attr_is_private" 55 #define PCMK__XA_ATTR_IS_REMOTE "attr_is_remote" 56 #define PCMK__XA_ATTR_NAME "attr_name" 57 #define PCMK__XA_ATTR_NODE_ID "attr_host_id" 58 #define PCMK__XA_ATTR_NODE_NAME "attr_host" 59 #define PCMK__XA_ATTR_OPERATION "attr_clear_operation" 60 #define PCMK__XA_ATTR_PATTERN "attr_regex" 61 #define PCMK__XA_ATTR_RESOURCE "attr_resource" 62 #define PCMK__XA_ATTR_SECTION "attr_section" 63 #define PCMK__XA_ATTR_SET "attr_set" 64 #define PCMK__XA_ATTR_USER "attr_user" 65 #define PCMK__XA_ATTR_UUID "attr_key" 66 #define PCMK__XA_ATTR_VALUE "attr_value" 67 #define PCMK__XA_ATTR_VERSION "attr_version" 68 #define PCMK__XA_ATTR_WRITER "attr_writer" 69 #define PCMK__XA_MODE "mode" 70 #define PCMK__XA_TASK "task" 71 72 73 /* 74 * IPC service names that are only used internally 75 */ 76 77 # define PCMK__SERVER_BASED_RO "cib_ro" 78 # define PCMK__SERVER_BASED_RW "cib_rw" 79 # define PCMK__SERVER_BASED_SHM "cib_shm" 80 81 /* 82 * IPC commands that can be sent to Pacemaker daemons 83 */ 84 85 #define PCMK__ATTRD_CMD_PEER_REMOVE "peer-remove" 86 #define PCMK__ATTRD_CMD_UPDATE "update" 87 #define PCMK__ATTRD_CMD_UPDATE_BOTH "update-both" 88 #define PCMK__ATTRD_CMD_UPDATE_DELAY "update-delay" 89 #define PCMK__ATTRD_CMD_QUERY "query" 90 #define PCMK__ATTRD_CMD_REFRESH "refresh" 91 #define PCMK__ATTRD_CMD_FLUSH "flush" 92 #define PCMK__ATTRD_CMD_SYNC "sync" 93 #define PCMK__ATTRD_CMD_SYNC_RESPONSE "sync-response" 94 #define PCMK__ATTRD_CMD_CLEAR_FAILURE "clear-failure" 95 96 #define PCMK__CONTROLD_CMD_NODES "list-nodes" 97 98 /* 99 * Environment variables used by Pacemaker 100 */ 101 102 #define PCMK__ENV_PHYSICAL_HOST "physical_host" 103 104 105 #endif /* CRM_INTERNAL__H */ 106