Direct Access Transport Library Functions
dat_registry_list_providers(3DAT)
NAME
dat_registry_list_providers - obtain a list of available
pProviders from the Static RegistrySYNOPSIS
typedef struct dat_provider_info {
char ia_name[DAT_NAME_MAX_LENGTH];
DAT_UINT32 dapl_version_major;
DAT_UINT32 dapl_version_minor;
DAT_BOOLEAN is_thread_safe;
} DAT_PROVIDER_INFO;
cc [ flag... ] file... -ldat [ library... ]
#include
DAT_RETURN
dat_registry_list_providers (
IN DAT_COUNT max_to_return,
OUT DAT_COUNT *number_entries,
OUT DAT_PROVIDER_INFO *(dat_provider_list[])
)PARAMETERS
max_to_return Maximum number of entries that can be
returned to the Consumer in thedat_provider_list.
number_entries The actual number of entries returned
to the Consumer in thedat_provider_list if successful or the
number of Providers available.dat_provider_list Points to an array of DAT_PROVIDER_INFO
pointers supplied by the Consumer. Each Provider's information will be copied to the destination specified.DESCRIPTION
The dat_registry_list_providers() function allows the Consu-
mer to obtain a list of available Providers from the Static Registry. The information provided is the Interface Adapter name, the uDAPL/kDAPL API version supported, and whether theprovided version is thread-safe. The Consumer can examine
the attributes to determine which (if any) Interface Adapters it wants to open. This operation has no effect on the Registry itself.SunOS 5.11 Last change: 16 Jul 2004 1
Direct Access Transport Library Functionsdat_registry_list_providers(3DAT)
The Registry can open an IA using a Provider whosedapl_version_minor is larger than the one the Consumer
requests if no Provider entry matches exactly. Therefore,Consumers should expect that an IA can be opened success-
fully as long as at least one Provider entry returned bydat_registry_list_providers() matches the ia_name,
dapl_version_major, and is_thread_safe fields exactly, and
has a dapl_version_minor that is equal to or greater than
the version requested. If the operation is successful, the returned value isDAT_SUCCESS and number_entries indicates the number of
entries filled by the registry in dat_provider_list.
If the operation is not successful, then number_entries
returns the number of entries in the registry. Consumers canuse this return to allocate dat_provider_list large enough
for the registry entries. This number is just a snapshot at the time of the call and may be changed by the time of thenext call. If the operation is not successful, then the con-
tent of dat_provider_list is not defined.
If dat_provider_list is too small, including pointing to
NULL for the registry entries, then the operation fails withthe return DAT_INVALID_PARAMETER.
RETURN VALUES
DAT_SUCCESS The operation was successful.
DAT_INVALID_PARAMETER Invalid parameter. For example,
dat_provider_list is too small or
NULL.DAT_INTERNAL_ERROR Internal error. The DAT static
registry is missing.USAGE
DAT_NAME_MAX_LENGTH includes the null character for string
termination.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:SunOS 5.11 Last change: 16 Jul 2004 2
Direct Access Transport Library Functionsdat_registry_list_providers(3DAT)
______________________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Safe |
|_____________________________|_____________________________|
| Standard | uDAPL, 1.1, 1.2 ||_____________________________|_____________________________|
SEE ALSO
libdat(3LIB), attributes(5)SunOS 5.11 Last change: 16 Jul 2004 3
Direct Access Transport Library Functionsdat_registry_list_providers(3DAT)
SunOS 5.11 Last change: 16 Jul 2004 4