dio_family

status.i4.v = dio_family(device_indices.i4a.r, num_members.i4a.r,
member_dis.i4pa.r, errors.i2a.r
[,num_families.i4.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
success
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,
dio_disable_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,
errors,&num_families);