status.i4.v = dio_status(device_index.i4.r, on.i4.r, ready.i4.r,
				 remote.i4.r, positive.i4.r
				 [,status_text.sa.r] [,ftd.i2.r]
				 [,length.i2.r] [,offset.i2.r]
				 [,ramping.i4.r] [,ret_ramp_dc.i4.r])

	status.i4.v = dio_status_c(device_index.i4.v, on.i4.r, ready.i4.r,
				   remote.i4.r, positive.i4.r
				   [,status_text.sa.r] [,ftd.i2.v]
				   [,length.i2.v] [,offset.i2.v]
				   [,ramping.i4.r] [,ret_ramp_dc.i4.v])

	This routine retrieves basic status for a single device.  The status
	fields are not boolean.  If a given attribute is not defined, a value
	of DIO_NOATT is returned.  A value of NULL may be passed for any of
	the returned status arguments if that information is not needed.

	device_index	device index
	on		returned on/off status
			(TRUE -> device is on,
			 FALSE -> device is off,
			 DIO_NOATT -> on/off attribute is not defined)
	ready		returned ready/tripped status
			(TRUE -> device is ready,
			 FALSE -> device is tripped,
			 DIO_NOATT -> ready/tripped attribute is not defined)
	remote		returned remote/local status
			(TRUE -> device is in remote,
			 FALSE -> device is in local,
			 DIO_NOATT -> remote/local attribute is not defined)
	positive	returned polarity status
			(TRUE -> device is in positive mode,
			 FALSE -> device is in negative mode,
			 DIO_NOATT -> polarity attribute is not defined)
	[status_text]	returned DIO_NUM_STATUS_TYPES characters of XCHAR
			format color coded status text
			(array of XCHAR structures)
			(Note: If the value of "ret_ramp_dc" is TRUE,
			 there will be DIO_NUM_STATUS_TYPES + 1 characters
			 of XCHAR format color coded status text per entry.)
			(default is NULL)
	[ftd]		frequency/time that data is collected
			(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'))
	[length]	data length in bytes
			(default (0) is database minimum size)
	[offset]	data offset in bytes (default (0) is 0 bytes)
	[ramping]	returned ramp/DC status
			(TRUE -> device is ramping,
			 FALSE -> device is DC,
			 DIO_NOATT -> ramp/DC attribute is not defined)
			(default is NULL)
	[ret_ramp_dc]	flag which indicates whether or not to return ramp/DC
			attribute text
			(TRUE -> return ramp/DC attribute text,
			 FALSE -> don't return ramp/DC attribute text

	This function returns ACNET status values as follows:

	OK			success
	DIO_BADARG		invalid number of arguments passed
	DIO_INVDEV		atomic size of status property is zero
	negative value		ACNET format error

	This function requires the following include files:

	cnsparam_h, cns_data_structs_h, diolib_h, acnet_errors_h, tclk_events_h, macro_h

	Related functions:

	dio_get_status_array_device_c, dio_sts_lst, dio_raw_to_status_c,
	dio_raw_to_status_extended_c, dio_sts_txt(_c), dio_raw_to_status_text,
	dio_raw_to_status_text_extended_c, dio_is_on(_c),
	dio_is_ready(_c), dio_is_remote(_c), dio_is_positive(_c)

	C/C++ usage:

	short	ftd = FTD_ONESHOT;
	short	length = 0;
	short	offset = 0;
	int	status;
	int	device_index = 14430;
	int	on;
	int	ready;
	int	remote;
	int	positive;
	int	ramping;
	int	ret_ramp_dc = FALSE;

	status = dio_status_c(device_index,&on,&ready,&remote,&positive,