result = I_FAIL;
do_cib_control(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){	enum crmd_fsa_input result = I_NULL;	struct crm_subsystem_s *this_subsys = cib_subsystem;		long long stop_actions = A_CIB_STOP;	long long start_actions = A_CIB_START;	if(action & stop_actions) {		if(fsa_cib_conn->state != cib_disconnected) {			fsa_cib_conn->cmds->signoff(fsa_cib_conn);		}	}	if(action & start_actions) {				if(cur_state != S_STOPPING) {			if(fsa_cib_conn->cmds->signon(				   fsa_cib_conn, cib_command) != cib_ok) {				result = I_FAIL;				crm_err("Could not connect to the CIB service");							} else if(fsa_cib_conn->cmds->add_notify_callback(					  fsa_cib_conn, T_CIB_UPDATE_CONFIRM,					  crmd_update_confirm) != cib_ok) {				result = I_FAIL;				crm_err("Could not set notify callback");			} else if(fsa_cib_conn->cmds->set_connection_dnotify(					  fsa_cib_conn,					  crmd_cib_connection_destroy)!=cib_ok){				result = I_FAIL;				crm_err("Could not set dnotify callback");			} else {				set_bit_inplace(					fsa_input_register, R_CIB_CONNECTED);			}					} else {			crm_info("Ignoring request to start %s after shutdown",				 this_subsys->name);		}	}		return result;}