value = param_value(config, "transition_timeout");
value = param_value(config, "transition_idle_timeout");
unpack_config(crm_data_t * config, pe_working_set_t *data_set){	const char *value = NULL;		value = param_value(config, "transition_timeout");	if(value != NULL) {		long tmp = crm_get_msec(value);		if(tmp > 0) {			transition_timeout = value;		} else {			crm_err("Invalid value for %s: %s",				"transition_timeout", value);		}	}	crm_debug_4("%s set to: %s",		 "transition_timeout", transition_timeout);	value = param_value(config, "default_resource_stickiness");	data_set->default_resource_stickiness = crm_atoi(value, "0");		switch (data_set->no_quorum_policy) {		case no_quorum_freeze:			crm_info("On loss of CCM Quorum: Freeze resources");			break;		case no_quorum_stop:			crm_info("On loss of CCM Quorum: Stop ALL resources");			break;		case no_quorum_ignore:			crm_warn("On loss of CCM Quorum: Ignore");			break;	}		value = param_value(config, "stonith_enabled");	if(value != NULL) {		crm_str_to_boolean(value, &data_set->stonith_enabled);	}	crm_info("STONITH of failed nodes is %s",		 data_set->stonith_enabled?"enabled":"disabled");		value = param_value(config, "symmetric_cluster");	if(value != NULL) {		crm_str_to_boolean(value, &data_set->symmetric_cluster);	}	if(data_set->symmetric_cluster) {		crm_info("Cluster is symmetric"			 " - resources can run anywhere by default");	}	value = param_value(config, "no_quorum_policy");	if(safe_str_eq(value, "ignore")) {		data_set->no_quorum_policy = no_quorum_ignore;			} else if(safe_str_eq(value, "freeze")) {		data_set->no_quorum_policy = no_quorum_freeze;	} else {		data_set->no_quorum_policy = no_quorum_stop;	}		switch (data_set->no_quorum_policy) {		case no_quorum_freeze:			crm_info("On loss of CCM Quorum: Freeze resources");			break;		case no_quorum_stop:			crm_info("On loss of CCM Quorum: Stop ALL resources");			break;		case no_quorum_ignore:			crm_warn("On loss of CCM Quorum: Ignore");			break;	}		return TRUE;}