const char *crm_msg_reference   = xmlGetProp(command, XML_MSG_ATTR_REFERENCE);
const char *crm_msg_reference   = xmlGetProp(command, XML_ATTR_REFERENCE);
processLrmdRequest(xmlNodePtr command){    // sanity check    if (command == NULL)    {	cl_log(LOG_INFO, "The (%s) received an empty message", "cib");	return NULL;    }    else if (strcmp(XML_REQ_TAG_LRM, command->name) != 0)    {	cl_log(LOG_INFO, "The (%s) received an invalid message of type (%s)", "cib", command->name);	return NULL;    }    const char *status      = "failed";    xmlNodePtr data         = NULL;    xmlNodePtr failed       = create_xml_node(NULL, XML_TAG_FAILED);    const char *op          = xmlGetProp(command, XML_LRM_ATTR_OP);    const char *id_filter   = set_xml_property_copy(command, XML_LRM_ATTR_IDFILTE);    const char *type_filter = set_xml_property_copy(command, XML_LRM_ATTR_TYPEFILTE);    const char *crm_msg_reference   = xmlGetProp(command, XML_MSG_ATTR_REFERENCE);        gboolean start_resource = FALSE;    gboolean stop_resource = FALSE;    int resource_operation = LRM_OP_NONE;/*<!ATTLIST lrm_request          lrm_operation    (noop|ping|query|start|stop|restart|shutdown|respawn|disconnect|reconnect)	'noop'          type_filter?     #CDATA	  id_filter?	   #CDATA	  crm_msg_reference	   #CDATA          timeout          #CDATA       '0'>*/    if (strcmp("noop", op) == 0) ;    else if (strcmp("ping", op) == 0)    {	status = "ok";    }    else if (strcmp("query", op) == 0)    {	if (data != NULL) status = "ok";// let createLrmdAnswer() fill in the LRM's local view of things    }    else if (strcmp("stop", op) == 0 || strcmp("restart", op))    {	stop_resource = TRUE;	if (strcmp("restart", op) == 0)	    start_resource = TRUE;    }    else if (strcmp("start", op) == 0)    {      start_resource = TRUE;    }    else	status = "not supported (yet)";    if (stop_resource == TRUE || start_resource == TRUE)    {	xmlNodePtr resourceList = retrieveResourceList(id_filter, type_filter);	if (stop_resource == TRUE)	{	    actionRequest(resourceList, op, failed);	}		if (start_resource == TRUE)	{	    startResources(resourceList, failed);	}    }    xmlNodePtr lrm_answer = createLrmdAnswer(crm_msg_reference,					     op,					     status,					     failed);        return lrm_answer;}