12#include <libxml/tree.h>
37 crm_trace(
"Freeing node %s", (pcmk__is_pacemaker_remote_node(node)?
38 "(guest or remote)" : pcmk__node_name(node)));
69 if (node->
assign != NULL) {
175 if ((node != NULL) && (fn != NULL)) {
200 if (node_name != NULL) {
201 for (
const GList *iter = nodes; iter != NULL; iter = iter->next) {
212#define XP_SHUTDOWN "//" PCMK__XE_NODE_STATE "[@" PCMK_XA_UNAME "='%s']/" \
213 PCMK__XE_TRANSIENT_ATTRIBUTES "/" PCMK_XE_INSTANCE_ATTRIBUTES "/" \
214 PCMK_XE_NVPAIR "[@" PCMK_XA_NAME "='" PCMK__NODE_ATTR_SHUTDOWN "']"
230 if ((cib != NULL) && (node != NULL)) {
#define crm_trace(fmt, args...)
pcmk_node_t * pcmk__find_node_in_list(const GList *nodes, const char *node_name)
void pcmk__free_node(gpointer user_data)
bool pcmk_node_is_online(const pcmk_node_t *node)
bool pcmk_node_is_shutting_down(const pcmk_node_t *node)
const char * pcmk_cib_node_shutdown(xmlNode *cib, const char *node)
Get value of a node's shutdown attribute from CIB, if present.
bool pcmk_node_is_clean(const pcmk_node_t *node)
bool pcmk_node_is_pending(const pcmk_node_t *node)
bool pcmk_foreach_active_resource(pcmk_node_t *node, bool(*fn)(pcmk_resource_t *, void *), void *user_data)
void pcmk__free_node_copy(void *data)
bool pcmk_node_is_in_maintenance(const pcmk_node_t *node)
Functionality for manipulating name/value pairs.
pcmk__action_result_t result
char * crm_strdup_printf(char const *format,...) G_GNUC_PRINTF(1
GList * assigned_resources
GHashTable * digest_cache
pcmk__node_private_t * priv
struct pcmk__node_details * details
struct pcmk__node_assignment * assign
const char * crm_element_value(const xmlNode *data, const char *name)
Retrieve the value of an XML attribute.
xmlNode * pcmk__xpath_find_one(xmlDoc *doc, const char *path, uint8_t level)