status.i4.v = dio_is_good(device_index.i4.r, alarm_type.i4.r,
				  alarm_state.i4a.r [,ftd.i2.r]
				  [hi_low_flag.i4a.r] [,start_block.i4.r]
				  [,max_blocks.i4.r] [,num_blocks.i4.r])

	status.i4.v = dio_is_good_c(device_index.i4.v, alarm_type.i4.v,
				    alarm_state.i4a.r [,ftd.i2.v]
				    [hi_low_flag.i4a.r] [,start_block.i4.v]
				    [,max_blocks.i4.v] [,num_blocks.i4.r])

	This routine determines whether or not a device is in alarm.
	A value of TRUE means the device is not in alarm.

	device_index	device index of interest
	alarm_type	type of alarm
			(DIO_ANALOG -> analog alarm,
			 DIO_DIGITAL -> digital alarm)
	alarm_state	returned alarm state
			(DIO_NOT_IN_ALARM -> device is not in alarm,
			 DIO_IN_ALARM -> device is in alarm,
			 DIO_INVALID_DATA -> error occurred in reading data)
	[ftd]		frequency time descriptor
			(FTD_ONESHOT -> one shot (default),
			 FTD_DEFAULT -> use database default FTD,
			 FTD_1HZ -> 1 Hz request,
			 FTD_EVENT_MASK OR'ed with TCLK event value -> read
			 on TCLK event (event constants are in tclk_events)
			 (can use the macro BUILD_EVENT_FTD(event) or
			  BUILD_EVENT_PLUS_DELAY_FTD(event,delay) in 'macro'))
	[hi_low_flag]	flag containing additional information about
			analog alarms
			(DIO_ALARM_OK -> not in alarm,
			 DIO_ALARM_BAD -> device is in alarm,
			 DIO_ALARM_HIGH -> device is alarming high (analog),
			 DIO_ALARM_LOW -> device is alarming low (analog))
	[start_block]	starting block to return (starts at 0)
			(default is 0) (maximum is DIO_MAX_ALARM_BLOCKS - 1)
	[max_blocks]	maximum number of blocks to return per device
			(default is 1) (maximum is DIO_MAX_ALARM_BLOCKS)
	[num_blocks]	returned number of blocks returned (default is NULL)

	This function returns ACNET status values as follows:

	OK			success
	otherwise		ACNET format error

	This function requires the following include files:

	cnsparam_h, diolib_h, acnet_errors_h, tclk_events_h, macro_h

	Related functions:

	dio_is_good_lst, dio_is_bypas(_c), dio_is_abort(_c),
	dio_is_abrt_inh(_c), dio_alarm_flags(_c), dio_is_broken_c,

	C/C++ usage:

	short	ftd = FTD_ONESHOT;
	int	status;
	int	device_index = 14430;
	int	alarm_type = DIO_ANALOG;
	int	alarm_state;
	int	hi_low_flag;
	int	start_block = 0;
	int	max_blocks = 1;
	int	num_blocks;

	status = dio_is_good_c(device_index,alarm_type,&alarm_state,ftd,