xmlNodePtr request = create_xml_node(NULL, XML_MSG_TAG);
request = create_xml_node(NULL, XML_MSG_TAG);
create_request(xmlNodePtr msg_options, xmlNodePtr msg_data,	       const char *host_to, const char *sys_to,	       const char *sys_from, const char *uuid_from,	       const char *crm_msg_reference){	const char *true_from = sys_from;	FNIN();	if (uuid_from != NULL)		true_from = generate_hash_key(sys_from, uuid_from);	// else make sure we are internal	else {		if (strcmp(CRM_SYSTEM_LRMD, sys_from) != 0		    && strcmp(CRM_SYSTEM_PENGINE, sys_from) != 0		    && strcmp(CRM_SYSTEM_TENGINE, sys_from) != 0		    && strcmp(CRM_SYSTEM_DC, sys_from) != 0		    && strcmp(CRM_SYSTEM_CRMD, sys_from) != 0) {			cl_log(LOG_ERR,			       "only internal systems can leave uuid_from blank");			FNRET(FALSE);		}	}	if (crm_msg_reference == NULL) {		crm_msg_reference =			generateReference(				xmlGetProp(msg_options,XML_ATTR_OP),sys_from);	}		// host_from will get set for us if necessary by CRMd when routed	xmlNodePtr request = create_xml_node(NULL, XML_MSG_TAG);	set_node_tstamp(request);	set_xml_property_copy(request, XML_ATTR_VERSION, CRM_VERSION);	set_xml_property_copy(request, XML_ATTR_MSGTYPE, XML_ATTR_REQUEST);	set_xml_property_copy(request, XML_ATTR_SYSTO,   sys_to);	set_xml_property_copy(request, XML_ATTR_SYSFROM, true_from);	set_xml_property_copy(request, XML_ATTR_REFERENCE, crm_msg_reference);	if(host_to != NULL && strlen(host_to) > 0)		set_xml_property_copy(request, XML_ATTR_HOSTTO,  host_to);	if (msg_options != NULL) {		add_node_copy(request, msg_options);	}	if (msg_data != NULL) {		add_node_copy(request, msg_data);	}	FNRET(request);}