status.i4.v = dio_memory_read_raw_c(num_devices.i4.v,
					    properties.i2a.r, lengths.i4a.r,
					    offsets.i4a.r, raw_data.i1a.r,
					    errors.i2a.r, options.u4.v)

	This routine returns raw data from the current DIO memory pool.

	num_devices	number of devices requesting data
	device_indices	device indices
	properties	property indices (constants are in 'dbprops')
	lengths		data lengths in bytes
	offsets		data offsets in bytes 
	raw_data	returned raw data
	errors		returned device errors
	options		reading options
			(DIO_OPT_NONE -> no options selected,
			 DIO_OPT_NO_POPULATE -> don't autopopulate the memory
						pool during this read)

	This function returns ACNET status values as follows:

	OK			success
	negative value		overall ACNET error
	positive value		number of devices in error

	This function requires the following include files:

	dbprops_h, diolib_h, acnet_errors_h

	Related functions:

	dio_memory_get_raw_c, dio_memory_get_c, dio_memory_get_array_c,
	dio_memory_set_populate_c, dio_memory_get_directed_raw_c,
	dio_memory_set_raw_c, dio_memory_set_c, dio_memory_set_array_c,
	dio_memory_control_c, dio_memory_cancel_c, dio_memory_populate_c,
	dio_memory_populate_query, dio_memory_pool_name_to_id_c,

	C/C++ usage:

	char	raw_data[RAW_DATA_LENGTH];
	short	errors[NUM_DEVICES];
	static const short	properties[NUM_DEVICES] = {PRSET, PRSET};
	int	status;
	int	num_devices = NUM_DEVICES;
	static const int	device_indices[NUM_DEVICES] = {14430, 14431};
	static const int	lengths[NUM_DEVICES] = {0, 0};
	static const int	offsets[NUM_DEVICES] = {0, 0};
	unsigned int	options = 0;

	status = dio_memory_read_raw_c(num_devices,device_indices,properties,