status.i4.v = dio_is_good_lst(list_id.i4.r, alarm_states.i4a.r,
				      errors.i2a.r [,hi_low_flags.i4a.r])

	This routine determines whether or not a list of devices are in alarm.
	A returned value of TRUE means the corresponding device is not in
	alarm.  This list must have been built by a previous call to

	list_id		list ID returned from previous call to
			(Note:  This value will be set to zero if the
			 list is deleted.)
	alarm_states	array of returned alarm states
			(DIO_NOT_IN_ALARM -> device is not in alarm,
			 DIO_IN_ALARM -> device is in alarm,
			 DIO_INVALID_DATA -> error occurred in reading data)
	errors		array of returned ACNET status values
	[hi_low_flags]	array of returned flags 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))

	This function returns status values as follows:

	OK			success
	DIO_MEMFAIL		memory allocation failure
	DIO_NOLIST		requested list does not exist
	negative value		ACNET format error indicating overall failure
	positive value		number of devices in error indicating partial

	This function requires the following include files:

	cnsparam_h, diolib_h, acnet_errors_h

	Related functions:

	dio_build_alarm_list_c, dio_bld_alrm_lst, dio_is_good(_c),
	dio_is_byp_lst, dio_is_abt_lst, dio_is_abtinh_lst, dio_alarm_flags_list,
	dio_is_broken_c, dio_extract_alarm_info_c,
	dio_extract_read_list_status_c, error_in_list(_c)

	C/C++ usage:

	short	errors[NUM_DEVICES];
	int	status;
	int	list_id;
	int	alarm_states[NUM_DEVICES];
	int	hi_low_flags[NUM_DEVICES];

	status = dio_is_good_lst(&list_id,alarm_states,errors,hi_low_flags);