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

	This routine compares current device values to all of those from
	a save set.

	set_name	set name
			(up to SAVE_SET_NAME_LEN characters)
	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 compare status values
			(OK -> successful compare,
			 CLIB_NO_SUCH -> device is not in save set,
			 CLIB_MISMATCH -> compare failed,
			 otherwise -> error reading data)
			(Note: The memory for this argument is allocated
			 by this routine and must be freed by the caller.)
	options		device retrieval options
			(SAVE_SET_OPT_NONE -> no options selected (default),
			 SAVE_SET_OPT_RESTORABLE_ONLY -> only compare device
							 entries with restorable

	This function returns ACNET status values as follows:

	OK			devices successfully compared
	CLIB_NO_SUCH		save set does not exist
	DPM_xxx			error reading current device values
	SQL_xxx			error reading saved device values
	otherwise		number of compare failures

	This function requires the following include files:

	cnsparam_h, cbslib_h, acnet_errors_h

	Related functions:

	save_set_compare_devices_c, save_set_save_devices_c,
	save_set_restore_devices_c, save_set_restore_all_devices_c,
	save_set_name_exists, save_set_get_device_spec_list,
	save_set_contains_device_specs_c, 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	*compare_status;
	int	status;
	int	num_devices;
	unsigned int	options = SAVE_SET_OPT_NONE;
	double	*differences;

	status = save_set_compare_all_devices(set_name,&num_devices,&devices,