DAT_PROVIDER_INIT(3DAT) Direct Access Transport Library Functions
NAME
dat_provider_init - locate the Provider in the Static Registry
SYNOPSIS
cc [
flag... ]
file...
-ldat [
library... ]
#include <
dat/udat.h>
void
dat_provider_init (
IN const DAT_PROVIDER_INFO *provider_info,
IN const char * instance_data
)
PARAMETERS
provider_info The information that was provided by the Consumer to
locate the Provider in the Static Registry.
instance_data The instance data string obtained from the entry
found in the Static Registry for the Provider.
DESCRIPTION
A constructor the Registry calls on a Provider before the first call
to
dat_ia_open(3DAT) for a given IA name when the Provider is auto-
loaded. An application that explicitly loads a Provider on its own
can choose to use
dat_provider_init() just as the Registry would have
done for an auto-loaded Provider.
The Provider's implementation of this method must call
dat_registry_add_provider(3DAT), using the IA name in the
provider_info.ia_name field, to register itself with the Dynamic
Registry. The implementation must not register other IA names at this
time. Otherwise, the Provider is free to perform any initialization
it finds useful within this method.
This method is called before the first call to
dat_ia_open() for a
given IA name after one of the following has occurred:
o The Provider library was loaded into memory.
o The Registry called
dat_provider_fini(3DAT) for that IA
name.
o The Provider called
dat_registry_remove_provider(3DAT) for
that IA name (but it is still the Provider indicated in
the Static Registry).
If this method fails, it should ensure that it does not leave its
entry in the Dynamic Registry.
RETURN VALUES
No values are returned.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+---------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+---------------------------+
|Interface Stability | Standard: uDAPL, 1.1, 1.2 |
+--------------------+---------------------------+
|MT-Level | |
+--------------------+---------------------------+
SEE ALSO
dat_ia_open(3DAT),
dat_provider_fini(3DAT),
dat_registry_add_provider(3DAT),
dat_registry_remove_provider(3DAT),
libdat(3LIB),
attributes(7) July 16, 2004 DAT_PROVIDER_INIT(3DAT)