read_packeted_device_c

	status.i4.v = read_packeted_device_c(device_index.i4.v, property.i2.v,
					     raw_data.i1a.r, length.i2.v,
					     offset.i2.v, atomic_length.i2.v,
					     data_source.i4.v, specs.g.v
					     [,ret_length.i2.r])

	This routine allows reading of raw data for a single device
	that can be larger in size than one ACNET packet.  The data
	can be read from a variety of data sources.  This routine
	provides only one shot data acquisition.

	device_index	device index
	property	property index (constants are in 'dbprops')
	raw_data	returned raw data
	length		length in bytes (If a value of 0 is passed for this
			argument, the database default length will be used.)
	offset		offset in bytes
	atomic_length	smallest indivisible size of the device in bytes
			(If a value of 0 is passed for this argument,
			 the database default length will be used.)
	data_source	source of the data
			(DIO_SOURCE_ACCELERATOR -> read live data,
			 DIO_SOURCE_DATABASE -> read the last setting stored
						in the database,
			 DIO_SOURCE_SAVERESTORE -> read data from save/restore,
			 DIO_SOURCE_SDA -> read data from SDA,
			 DIO_SOURCE_DATALOGGER -> read data from a lumberjack,
			 DIO_SOURCE_MEMORY -> read data from a memory pool)
	specs		data acquisition specifications depending on data source
			(DIO_SOURCE_ACCELERATOR -> not used,
			 DIO_SOURCE_DATABASE -> not used,
			 DIO_SOURCE_SAVERESTORE -> structure of type DIO_SR_SPEC,
			 DIO_SOURCE_SDA -> structure of type DIO_SDA_SPEC,
			 DIO_SOURCE_DATALOGGER -> structure of type DIO_DL_SPEC,
			 DIO_SOURCE_MEMORY -> structure of type DIO_MEMORY_SPEC)
	[ret_length]	actual returned data length in bytes (default is NULL)

	This function returns status values as follows:

	OK			success
	DIO_BADARG		invalid data source or file number
	negative value		other ACNET format error
	positive value		number of first device in error

	This function requires the following include files:

	cbslib_h, dbprops_h, diolib_h, acnet_errors_h

	Related functions:

	read_packeted_data_c, dio_get_raw(_c), sr_get_device_raw_c,
	dio_get_last_setting_raw, logger_get_device_list_c

	C/C++ usage:

	char	raw_data[LENGTH];
	short	ret_length;
	short	property = PRSET;
	short	length = LENGTH;
	short	offset = 0;
	short	atomic_length = 0;
	int	status;
	int	device_index = 14430;
	int	data_source = DIO_SOURCE_ACCELERATOR;
	void	*specs = (void *) NULL;

	status = read_packeted_device_c(device_index,property,raw_data,
					length,offset,atomic_length,
					data_source,specs,&ret_length);