status.i4.v = save_set_restore_all_devices_c(set_name.i1a.r,

	This routine restores all device values from a save set.

	set_name	set name
			(up to SAVE_SET_NAME_LEN characters)
	restore_type	type of save to make
			(SAVE_SET_RESTORE_IN_ORDER -> restore devices in the
						      order that they were
			 SAVE_SET_RESTORE_BY_BATCH -> restore devices as a
						      batch (order may be
			 SAVE_SET_APPEND -> add entries to an existing set)
	num_devices	returned number of device value entries
	devices		returned device value entries
			(array of ARRAY_DEVICE_DATA_EXT structures)
			(Note: The memory for this argument is allocated
			 by this routine and must be freed by the caller.)
			(A value of NULL can be passed for this argument
			 if these values are not needed.)
	errors		returned restore status values
			(Note: The memory for this argument is allocated
			 by this routine and must be freed by the caller.)

	This function returns ACNET status values as follows:

	OK			devices successfully restored
	CLIB_NO_SUCH		save set does not exist
	CLIB_INVARG		invalid restore type requested
	DPM_xxx			error setting devices
	SQL_xxx			error reading saved device values
	otherwise		number of restore errors

	This function requires the following include files:

	cbslib_h, acnet_errors_h

	Related functions:

	save_set_restore_devices_c, save_set_save_devices_c,
	save_set_name_exists, save_set_get_device_spec_list,
	save_set_contains_device_specs_c, save_set_compare_devices_c,
	save_set_compare_all_devices, save_set_get_device_values_c,
	save_set_get_all_device_values, save_set_get_compare_info_c,
	save_set_delete, save_set_get_set_info

	C/C++ usage:

	static const char	set_name[SAVE_SET_NAME_LEN+1] = "MySaveSet";
	short	*errors;
	int	status;
	int	restore_type = SAVE_SET_RESTORE_IN_ORDER;
	int	num_devices;

	status = save_set_restore_all_devices_c(set_name,restore_type,