status.i4.v = alarm_callback_init_c(num_devices.i4.v,

	This routine registers a function to be called when an alarm occurs.

	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 *edp,
					    void *callback_data)
				"device_index" is the device index
				"alarm_type" is the type of alarm
				"alarm_state" is the current alarm state
				"raw_data" is the current raw reading
				"secs" the time_t of notification
				"nanos" is the nanosecs into secs of notification
				"edp" Event Display Packet (EDP) containing
				      the contents of the alarm message
				"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)
				"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_DUPREQ		matching alarm callback already exists

	This function requires the following include files:

	cbslib_h, cns_data_structs_h, alarmsapp_h, acnet_errors_h

	Related functions:

	alarm_callback_term_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, alarm_get_current_alarms_from_group_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_init_c(num_devices,device_indices,alarm_type,