status.i4.v = dio_family(device_indices.i4a.r, num_members.i4a.r,
				 member_dis.i4pa.r, errors.i2a.r

	This routine returns family information for a device.  The number
	of family members is returned in "num_members", and the list of
	device indices is returned in "member_dis".  "member_dis" should be
	a pointer to a longword pointer rather than a user-supplied array of
	longwords.  This routine allocates the necessary memory to hold the
	device index values.  If "num_families" is specified, family data for
	a list of devices can be retrieved.

	device_indices	family device index or array of device indices
	num_members	returned number of family members or array of number
			of family members ("num_families" entries)
			(A value of NULL may be passed if no member counts
			 are needed.)
	member_dis	returned pointer(s) to family member DI(s)
			("num_families" entries) (A value of NULL may be
			passed if no device indices are needed.)
	errors		returned ACNET status value or array of status values
			("num_families" entries) (A status of DBM_NOREC
			indicates that the device is not a family device.)
	[num_families]	number of families (default is 1)

	This function returns status values as follows:

	OK			success
	DIO_BADARG		invalid number of devices passed
	DIO_MEMFAIL		memory allocation failure
	DIO_NOFAMILY		not a family device
	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_expand_family_c, dio_family_info(_c), dio_is_family,
	dio_is_family_list_c, dio_siblings, dio_device_ssdr(_c),
	error_in_list(_c), dio_enable_obsolete_dev_info,

	C/C++ usage:

	short	errors[NUM_FAMILIES];
	int	status;
	static const int	device_indices[NUM_FAMILIES] = {9181, 9182};
	int	num_members[NUM_FAMILIES];
	int	num_families = NUM_FAMILIES;
	int	*member_dis[NUM_FAMILIES];

	status = dio_family(device_indices,num_members,member_dis,