if(safe_str_eq(operation, "start")) {  op = g_new(lrm_op_t, 1); op->op_type   = "status"; op->params    = NULL; op->user_data = NULL; op->timeout   = 0; op->interval  = 1000; op->target_rc = CHANGED; int monitor_call_id = rsc->ops->perform_op(rsc, op); if(monitor_call_id < 0) {  } }
do_lrm_rsc_op(	lrm_rsc_t *rsc, char *rid, const char *operation, xmlNodePtr msg){	lrm_op_t* op = NULL;	if(rsc == NULL) {		// add it to the list		crm_verbose("adding rsc %s before operation", rid);		fsa_lrm_conn->lrm_ops->add_rsc(			fsa_lrm_conn, rid,			get_xml_attr_nested(				msg, rsc_path, DIMOF(rsc_path) -2,				"class", TRUE),			get_xml_attr_nested(				msg, rsc_path, DIMOF(rsc_path) -2,				XML_ATTR_TYPE, TRUE),			NULL);				rsc = fsa_lrm_conn->lrm_ops->get_rsc(			fsa_lrm_conn, rid);	}		if(rsc == NULL) {		crm_err("Could not add resource to LRM");		return I_FAIL;	}		// now do the op	crm_verbose("performing op %s...", operation);	op = g_new(lrm_op_t, 1);	op->op_type = operation;	op->params = xml2list(msg, rsc_path, DIMOF(rsc_path));	op->timeout = 0;	op->user_data = rsc;	rsc->ops->perform_op(rsc, op);	return I_NULL;}