12 #include <libxml/tree.h> 113 if ((node != NULL) && (fn != NULL)) {
152 if (node_name != NULL) {
153 for (
const GList *iter = nodes; iter != NULL; iter = iter->next) {
165 #define XP_SHUTDOWN "//" PCMK__XE_NODE_STATE "[@" PCMK_XA_UNAME "='%s']/" \ 166 PCMK__XE_TRANSIENT_ATTRIBUTES "/" PCMK_XE_INSTANCE_ATTRIBUTES "/" \ 167 PCMK_XE_NVPAIR "[@" PCMK_XA_NAME "='" PCMK__NODE_ATTR_SHUTDOWN "']" 183 if ((cib != NULL) && (node != NULL)) {
pcmk_node_t * pcmk__find_node_in_list(const GList *nodes, const char *node_name)
const char * crm_xml_add_int(xmlNode *node, const char *name, int value)
Create an XML attribute with specified name and integer value.
bool pcmk_foreach_active_resource(pcmk_node_t *node, bool(*fn)(pcmk_resource_t *, void *), void *user_data)
const char * crm_xml_add(xmlNode *node, const char *name, const char *value)
Create an XML attribute with specified name and value.
bool pcmk_node_is_clean(const pcmk_node_t *node)
#define PCMK__XA_ATTR_HOST_ID
xmlNode * get_xpath_object(const char *xpath, xmlNode *xml_obj, int error_level)
bool pcmk_node_is_shutting_down(const pcmk_node_t *node)
void pcmk__xe_add_node(xmlNode *xml, const char *node, int nodeid)
const char * pcmk_cib_node_shutdown(xmlNode *cib, const char *node)
Get value of a node's shutdown attribute from CIB, if present.
const char * crm_element_value(const xmlNode *data, const char *name)
Retrieve the value of an XML attribute.
char * crm_strdup_printf(char const *format,...) G_GNUC_PRINTF(1
bool pcmk_node_is_in_maintenance(const pcmk_node_t *node)
struct pe_node_shared_s * details
bool pcmk_node_is_pending(const pcmk_node_t *node)
bool pcmk_node_is_online(const pcmk_node_t *node)
Functionality for manipulating name/value pairs.
#define pcmk__assert(expr)
#define PCMK__XA_ATTR_HOST
pcmk__action_result_t result