void *data)
fsa_data_t *msg_data)
do_shutdown(long long action,	    enum crmd_fsa_cause cause,	    enum crmd_fsa_state cur_state,	    enum crmd_fsa_input current_input,	    void *data){	enum crmd_fsa_input next_input = I_NULL;	enum crmd_fsa_input tmp = I_NULL;			/* last attempt to shut these down */	if(is_set(fsa_input_register, R_PE_CONNECTED)) {		crm_warn("Last attempt to shutdown the PolicyEngine");		tmp = do_pe_control(A_PE_STOP, cause, cur_state,				    current_input, data);		if(tmp != I_NULL) {			next_input = I_ERROR;			crm_err("Failed to shutdown the PolicyEngine");		}	}	if(is_set(fsa_input_register, R_TE_CONNECTED)) {		crm_warn("Last attempt to shutdown the Transitioner");		tmp = do_pe_control(A_TE_STOP, cause, cur_state,				    current_input, data);		if(tmp != I_NULL) {			next_input = I_ERROR;			crm_err("Failed to shutdown the Transitioner");		}			}	/* TODO: shutdown all remaining resources? */		return next_input;}