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 )
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.
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:
• The Provider library was loaded into memory.
• The Registry called dat_provider_fini(3DAT) for that IA name.
• 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.
No values are returned.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
|Interface Stability||Standard: uDAPL, 1.1, 1.2|
dat_ia_open(3DAT), dat_provider_fini(3DAT), dat_registry_add_provider(3DAT), dat_registry_remove_provider(3DAT), libdat(3LIB), attributes(5)