status.i4.v = dio_save_info(device_indices.i4a.r, save_list_ids.i4a.r,
				    save_prop_masks.i4a.r, sr_codes.i4a.r,
				    sr_subcodes.i4a.r, display_codes.i4a.r,
				    display_subcodes.i4a.r, errors.i2a.r

	This routine returns save/restore information for a device.
	If "num_devices" is specified, save/restore information for a
	list of devices can be retrieved.

	"save_masks" is a bitwise flag indicating which properties are to
	be saved.  (bit 0->reading,bit 1->setting,bit 2->basic status,
	bit 3->analog alarm,bit 4->digital alarm)

	save/restore codes:

		0 -> normal handling
		1 -> refrigerator finite state machine handling
			1 -> state pointers (GAS type 31)
			2 -> transition rules (GAS type 33)
			3 -> operations (GAS type 27)
		2 -> refrigerator loop handling
			1 -> loop devices (GAS type 11)
			2 -> generalized actuator (GAS type 6)
			3 -> generalized D/A (GAS type 9)
		3 -> basic control handling
		4 -> table device handling
		5 -> table devices with basic control
		6 -> restore device starting at offset
			n -> offset in bytes
		7 -> exclude requested properties from big saves
			n -> mask of properties to exclude

	display codes:

		 0 -> normal handling
		 1 -> TCLK timer delay handling
		 2 -> TCLK timer reference handling
		 3 -> MIBS timer delay handling
		 4 -> MIBS timer reference handling
		 5 -> RRBS timer delay handling
		 6 -> RRBS timer reference handling
		 7 -> TVBS timer delay handling
		 8 -> TVBS timer reference handling
		11 -> test clock timer delay handling
		12 -> test clock timer reference handling
		13 -> NML clock timer delay handling
		14 -> NML clock timer reference handling
		15 -> HINS clock timer delay handling
		16 -> HINS clock timer reference handling

	device_indices	device index or array of device indices
	save_list_ids	returned save/restore list number or array of
			list numbers (pass a value of NULL if no list numbers
			are needed)
	save_prop_masks	returned save mask or array of masks
			(pass a value of NULL if no save masks are needed)
	sr_codes	returned restore handler code or array of codes
			(pass a value of NULL if no restore codes are needed)
	sr_subcodes	returned restore handler subcode or array of subcodes
			(pass a value of NULL if no restore subcodes are needed)
	display_codes	returned display handler code or array of codes
			(pass a value of NULL if no display codes are needed)
	display_subcods	returned display handler subcode or array of subcodes
			(pass a value of NULL if no display subcodes are needed)
	errors		returned ACNET status value or array of status values
	[num_devices]	number of devices (default is 1)

	This function returns status values as follows:

	OK			success
	DIO_BADARG		invalid number of devices passed
	DIO_MEMFAIL		memory allocation failure
	negative value		ACNET format error indicating overall failure
	positive value		number of devices in error indicating partial

	This function requires the following include files:

	diolib_h, acnet_errors_h

	Related functions:

	dio_enable_obsolete_dev_info, dio_disable_obsolete_dev_info,

	C/C++ usage:

	short	errors[NUM_DEVICES];
	int	status;
	static const int	device_indices[NUM_DEVICES] = {14430, 14431};
	int	save_list_ids[NUM_DEVICES];
	int	save_prop_masks[NUM_DEVICES];
	int	sr_codes[NUM_DEVICES];
	int	sr_subcodes[NUM_DEVICES];
	int	display_codes[NUM_DEVICES];
	int	display_subcodes[NUM_DEVICES];
	int	num_devices = NUM_DEVICES;

	status = dio_save_info(device_indices,save_list_ids,save_prop_masks,