ha_msg_add(reply, F_CRM_JOIN_ID, join_id);
join_query_callback(const HA_Message *msg, int call_id, int rc,		    crm_data_t *output, void *user_data){	crm_data_t *local_cib = NULL;	ha_msg_input_t *input = user_data;	crm_data_t *generation = create_xml_node(		NULL, XML_CIB_TAG_GENERATION_TUPPLE);	CRM_DEV_ASSERT(input != NULL);	query_call_id = 0;		if(rc == cib_ok) {		local_cib = find_xml_node(output, XML_TAG_CIB, TRUE);	}		if(local_cib != NULL) {		HA_Message *reply = NULL;		crm_debug("c2) respond to join offer");		crm_debug("Acknowledging %s as our DC",			  cl_get_string(input->msg, F_CRM_HOST_FROM));		copy_in_properties(generation, local_cib);		reply = create_request(			CRM_OP_JOIN_REQUEST, generation, fsa_our_dc,			CRM_SYSTEM_DC, CRM_SYSTEM_CRMD, NULL);		send_msg_via_ha(fsa_cluster_conn, reply);	} else {		crm_err("Could not retrieve Generation to attach to our"			" join acknowledgement: %s", cib_error2string(rc));		register_fsa_error_adv(			C_FSA_INTERNAL, I_ERROR, NULL, NULL, __FUNCTION__);	}		delete_ha_msg_input(input);	free_xml(generation);}