alarm_callback_term_c

	status.i4.v = alarm_callback_term_c(num_devices.i4.v,
					    device_indices.i4a.r,
					    alarm_type.i4.v,
					    alarm_callback.f.v
					    [,callback_data.g.v]
					    [,heartbeat_func.f.v])

	This routine terminates an alarm callback registered by
	an earlier call to alarm_callback_init_c.

	num_devices	number of devices in list
	device_indices	list of device indices  (To receive reports for
			all devices, use the constant ALARMS_ALL_DEVICES.)
	alarm_type	type of alarm to monitor
			(DIO_ANALOG -> analog alarm,
			 DIO_DIGITAL -> digital alarm,
			 DIO_ANALOG_AND_DIGITAL -> any alarm type)
	alarm_callback	function which is called when one or more
			of the devices undergoes an alarm state change
			It has the following prototype:
			void alarm_callback(int device_index, int alarm_type, 
					    int alarm_state,
					    unsigned int raw_data,
					    unsigned int secs,
					    unsigned int nanos,
					    void *callback_data)
			where:
				"device_index" is the device index
				"alarm_type" is the type of alarm
				(DIO_ANALOG, DIO_DIGITAL)
				"alarm_state" is the current alarm state
				(ALARM_GOING_BAD, ALARM_GOING_GOOD)
				"raw_data" is the current raw reading
                               "secs" the time_t of notification
                               "nanos" is the nanosecs into secs of notification
				"callback_data" is the pointer to user
						supplied data
	[callback_data]	pointer to user-supplied data to be passed to
			alarm callback function (default is NULL)
	[heartbeat_func] function which is called when a heartbeat message
			 is received from the alarms daemon
			 It has the following prototype:
			 void heartbeat_func(unsigned int secs,
					     unsigned int nanos,
					     unsigned int interval,
					     int last_edp_number,
					     int event_seqnum_to_remove)
			where:
                               "secs" the time_t of notification
                               "nanos" is the nanosecs into secs of notification
				"interval" number of seconds between heartbeats
				"last_edp_number" number of last EDP sent
				"event_seqnum_to_remove" event sequence number
							 to remove
			 (default is NULL)

	This function returns ACNET status values as follows:

	OK			success
	CLIB_NO_SUCH		no matching alarm callback found

	This function requires the following include files:

	cbslib_h, cns_data_structs_h, alarmsapp_h, acnet_errors_h

	Related functions:

	alarm_callback_init_c, alarm_get_current_alarms,
	alarm_get_num_current_alarms, alarm_list_find_device_c,
	alarm_list_name_to_devices_c, alarm_list_names,
	alarm_find_alarms_daemon_c

	C/C++ usage:

	int	status;
	int	num_devices = NUM_DEVICES;
	static const int	device_indices[NUM_DEVICES] = {27235, 27236};
	int	alarm_type = DIO_ANALOG;
	alarm_handler	alarm_callback;
	void	*callback_data;
	alarm_heartbeat	heartbeat_func = (alarm_heartbeat) NULL;

	status = alarm_callback_term_c(num_devices,device_indices,alarm_type,
				       alarm_handler,handler_data,
				       heartbeat_func);