} else { send_request(NULL, graph, CRM_OP_ABORT,
} else if(action & A_TE_CANCEL) { send_request(NULL, graph, CRM_OP_TEABORT,
do_te_invoke(long long action,	     enum crmd_fsa_cause cause,	     enum crmd_fsa_state cur_state,	     enum crmd_fsa_input current_input,	     fsa_data_t *msg_data){	xmlNodePtr graph = NULL;	xmlNodePtr msg = (xmlNodePtr)msg_data->data;	enum crmd_fsa_input ret = I_NULL;	if(is_set(fsa_input_register, R_TE_CONNECTED) == FALSE){		crm_info("Waiting for the TE to connect");		if(msg != NULL) {			free_xml(te_last_input);			te_last_input = copy_xml_node_recursive(msg);		}		crmd_fsa_stall();		return I_NULL;			}	if(msg == NULL) {		msg = te_last_input;	}		if(action & A_TE_INVOKE) {		graph = find_xml_node(msg, "transition_graph");		if(graph != NULL) {			send_request(NULL, graph, CRM_OP_TRANSITION,				     NULL, CRM_SYSTEM_TENGINE, NULL);		} else {			ret = I_FAIL;		}		} else {		send_request(NULL, graph, CRM_OP_ABORT,			     NULL, CRM_SYSTEM_TENGINE, NULL);	}	/* only free it if it was a local copy */	free_xml(te_last_input);	te_last_input = NULL;		return ret;}