"crmd");
CRM_SYSTEM_CRMD);
do_lrm_control(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 failed = I_NULL;//I_FAIL;	int ret = HA_OK;	FNIN();	if(action & A_LRM_DISCONNECT) {		fsa_lrm_conn->lrm_ops->signoff(fsa_lrm_conn);	}	if(action & A_LRM_CONNECT) {			CRM_DEBUG("LRM: connect...");		fsa_lrm_conn = ll_lrm_new(XML_CIB_TAG_LRM);			if(NULL == fsa_lrm_conn) {			return failed;		}				CRM_DEBUG("LRM: sigon...");		ret = fsa_lrm_conn->lrm_ops->signon(fsa_lrm_conn,						    "crmd");				if(ret != HA_OK) {			cl_log(LOG_ERR, "Failed to sign on to the LRM");			return failed;		}				CRM_DEBUG("LRM: set_lrm_callback...");		ret = fsa_lrm_conn->lrm_ops->set_lrm_callback(fsa_lrm_conn,							      lrm_op_callback,							      lrm_monitor_callback);				if(ret != HA_OK) {			cl_log(LOG_ERR, "Failed to set LRM callbacks");			return failed;		}		/* TODO: create a destroy handler that causes		 * some recovery to happen		 */		G_main_add_fd(G_PRIORITY_LOW,			      fsa_lrm_conn->lrm_ops->inputfd(fsa_lrm_conn),			      FALSE,			      lrm_dispatch, fsa_lrm_conn,			      default_ipc_input_destroy);	}		if(action & ~(A_LRM_CONNECT|A_LRM_DISCONNECT)) {		cl_log(LOG_ERR, "Unexpected action %s in %s",		       fsa_action2string(action), __FUNCTION__);	}				FNRET(I_NULL);}