DAT_REGISTRY_ADD_PROVIDER(3DAT) Direct Access Transport Library Functions DAT_REGISTRY_ADD_PROVIDER(3DAT)

dat_registry_add_provider - declare the Provider with the Dynamic Registry

cc [ flag... ] file... -ldat [ library... ]
#include <dat/udat.h>
DAT_RETURN
    dat_registry_add_provider (
    IN    const DAT_PROVIDER          *provider,
    IN    const DAT_PROVIDER_INFO     *provider_info
    )

provider
Self-description of a Provider.

provider_info

Attributes of the Provider.

The Provider declares itself with the Dynamic Registry. Note that the caller can choose to register itself multiple times, for example once for each port. The choice of what to virtualize is up to the Provider. Each registration provides an Interface Adapter to DAT. Each Provider must have a unique name.

The same IA Name cannot be added multiple times. An attempt to register the same IA Name again results in an error with the return value DAT_PROVIDER_ALREADY_REGISTERED.

The contents of provider_info must be the same as those the Consumer uses in the call to dat_ia_open(3DAT) directly, or the ones provided indirectly defined by the header files with which the Consumer compiled.

DAT_SUCCESS

The operation was successful.

DAT_INSUFFICIENT_RESOURCES

The maximum number of Providers was already registered.

DAT_INVALID_PARAMETER

Invalid parameter.

DAT_PROVIDER_ALREADY_REGISTERED

Invalid or nonunique name.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Standard: uDAPL, 1.1, 1.2
MT-Level

dat_ia_open(3DAT), libdat(3LIB), attributes(7)

July 16, 2004 OmniOS