rc==cib_ok?LOG_DEBUG:LOG_WARNING, UPDATE_PREFIX,
rc==cib_ok?LOG_DEV:LOG_WARNING, UPDATE_PREFIX,
cibmon_post_notify(const char *event, HA_Message *msg){	int rc = -1;	const char *op       = NULL;	const char *id       = NULL; 	const char *type     = NULL;	crm_data_t *update = NULL;	crm_data_t *output = NULL;	crm_data_t *generation = NULL;	if(msg == NULL) {		crm_err("NULL update");		return;	}		op       = cl_get_string(msg, F_CIB_OPERATION);	id       = cl_get_string(msg, F_CIB_OBJID);	type     = cl_get_string(msg, F_CIB_OBJTYPE);	update = get_message_xml(msg, F_CIB_UPDATE);	output = get_message_xml(msg, F_CIB_UPDATE_RESULT);	generation = get_message_xml(msg, "cib_generation");	update_depth--;	if(last_notify_pre == FALSE 	   && update_depth > 0	   && intermediate_changes == FALSE) {		crm_trace("Ignoring intermediate update");		return;	}	last_notify_pre = FALSE;	ha_msg_value_int(msg, F_CIB_RC, &rc);		if(update == NULL) {		if(rc == cib_ok) {			crm_verbose(UPDATE_PREFIX"[%s] %s (to %s) completed",				    event, op, crm_str(type));					} else {			crm_warn(UPDATE_PREFIX"[%s] %s (to %s) FAILED: (%d) %s",				 event, op, crm_str(type), rc,				 cib_error2string(rc));		}			} else {		if(rc == cib_ok) {			crm_verbose(UPDATE_PREFIX"[%s] Operation %s to <%s%s%s> completed.",				    event, op, crm_str(type),				    id?" id=":"", id?id:"");					} else {			crm_warn(UPDATE_PREFIX"[%s] Operation %s to <%s %s%s> FAILED: (%d) %s",				event, op, crm_str(type), id?" id=":"", id?id:"",				rc, cib_error2string(rc));		}	}	if(update == NULL) {		print_xml_formatted(			rc==cib_ok?LOG_DEBUG:LOG_WARNING, UPDATE_PREFIX,			update, "Update");	}	print_xml_formatted(		rc==cib_ok?LOG_DEBUG:LOG_WARNING, UPDATE_PREFIX,		output, "Resulting Object");	if(update_depth == 0) {		print_xml_formatted(			rc==cib_ok?LOG_DEBUG:LOG_WARNING, UPDATE_PREFIX,			generation, "CIB Generation");	}}