rsc->variant_opaque = native_data;
void native_unpack(resource_t *rsc){	xmlNodePtr xml_obj = rsc->xml;		const char *stopfail   = xmlGetProp(xml_obj, "on_stopfail");	const char *restart    = xmlGetProp(xml_obj, "restart_type");	const char *timeout    = xmlGetProp(xml_obj, "timeout");	const char *version    = xmlGetProp(xml_obj, XML_ATTR_VERSION);	const char *priority   = xmlGetProp(xml_obj, XML_CIB_ATTR_PRIORITY);			const char *max_instances      = xmlGetProp(xml_obj, "max_instances");	const char *max_node_instances = xmlGetProp(xml_obj, "max_node_instances");	const char *max_masters      = xmlGetProp(xml_obj, "max_masters");	const char *max_node_masters = xmlGetProp(xml_obj, "max_node_masters");		crm_verbose("Processing resource...");		crm_malloc(rsc->agent, sizeof(lrm_agent_t));	rsc->agent->class	= xmlGetProp(xml_obj, "class");	rsc->agent->type	= xmlGetProp(xml_obj, "type");	rsc->agent->version	= version?version:"0.0";		rsc->priority	        = atoi(priority?priority:"0"); 	rsc->effective_priority = rsc->priority;	rsc->recovery_type      = recovery_stop_start;			rsc->max_instances	= atoi(max_instances?max_instances:"1"); 	rsc->max_node_instances = atoi(max_node_instances?max_node_instances:"1"); 	rsc->max_masters        = atoi(max_masters?max_masters:"0"); 	rsc->max_node_masters   = atoi(max_node_masters?max_node_masters:"0"); 		rsc->candidate_colors   = NULL;	rsc->actions            = NULL;	rsc->color		= NULL; 	rsc->runnable		= TRUE; 	rsc->provisional	= TRUE; 	rsc->allowed_nodes	= NULL;	rsc->rsc_cons		= NULL; 	rsc->node_cons		= NULL; 	rsc->running_on		= NULL;	rsc->timeout		= timeout;		if(safe_str_eq(stopfail, "ignore")) {		rsc->stopfail_type = pesf_ignore;	} else if(safe_str_eq(stopfail, "stonith")) {		rsc->stopfail_type = pesf_stonith;	} else {		rsc->stopfail_type = pesf_block;	}		if(safe_str_eq(restart, "restart")) {		rsc->restart_type = pe_restart_restart;	} else if(safe_str_eq(restart, "recover")) {		rsc->restart_type = pe_restart_recover;	} else {		rsc->restart_type = pe_restart_ignore;	}}