8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / man / man3dat / dat_provider_init.3dat
blobdc4b18421268d09ec74bc2d53bd6a27fdc94a8f8
1 '\" te
2 .\" This manual page is derived from the DAT/uDAPL 1.2 specification.
3 .\" Portions Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
4 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
5 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
6 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
7 .TH DAT_PROVIDER_INIT 3DAT "Jul 16, 2004"
8 .SH NAME
9 dat_provider_init \- locate the Provider in the Static Registry
10 .SH SYNOPSIS
11 .LP
12 .nf
13 cc [ \fIflag\fR\&.\|.\|. ] \fIfile\fR\&.\|.\|. \fB-ldat\fR [ \fIlibrary\fR\&.\|.\|. ]
14 #include <\fBdat/udat.h\fR>
16 void
17     dat_provider_init (
18     IN    const DAT_PROVIDER_INFO    *provider_info,
19     IN    const char *               instance_data
20     )
21 .fi
23 .SH PARAMETERS
24 .sp
25 .ne 2
26 .na
27 \fB\fIprovider_info\fR\fR
28 .ad
29 .RS 17n
30 The information that was provided by the Consumer to locate the Provider in the
31 Static Registry.
32 .RE
34 .sp
35 .ne 2
36 .na
37 \fB\fIinstance_data\fR\fR
38 .ad
39 .RS 17n
40 The instance data string obtained from the entry found in the Static Registry
41 for the Provider.
42 .RE
44 .SH DESCRIPTION
45 .sp
46 .LP
47 A constructor the Registry calls on a Provider before the first call to
48 \fBdat_ia_open\fR(3DAT) for a given IA name when the Provider is auto-loaded.
49 An application that explicitly loads a Provider on its own can choose to use
50 \fBdat_provider_init()\fR just as the Registry would have done for an
51 auto-loaded Provider.
52 .sp
53 .LP
54 The Provider's implementation of this method must call
55 \fBdat_registry_add_provider\fR(3DAT), using the IA name in the
56 \fBprovider_info.ia_name\fR field, to register itself with the Dynamic
57 Registry. The implementation must not register other IA names at this time.
58 Otherwise, the Provider is free to perform any initialization it finds useful
59 within this method.
60 .sp
61 .LP
62 This method is called before the first call to \fBdat_ia_open()\fR for a given
63 IA name after one of the following has occurred:
64 .RS +4
65 .TP
66 .ie t \(bu
67 .el o
68 The Provider library was loaded into memory.
69 .RE
70 .RS +4
71 .TP
72 .ie t \(bu
73 .el o
74 The Registry called \fBdat_provider_fini\fR(3DAT) for that IA name.
75 .RE
76 .RS +4
77 .TP
78 .ie t \(bu
79 .el o
80 The Provider called \fBdat_registry_remove_provider\fR(3DAT) for that IA name
81 (but it is still the Provider indicated in the Static Registry).
82 .RE
83 .sp
84 .LP
85 If this method fails, it should ensure that it does not leave its entry in the
86 Dynamic Registry.
87 .SH RETURN VALUES
88 .sp
89 .LP
90 No values are returned.
91 .SH ATTRIBUTES
92 .sp
93 .LP
94 See \fBattributes\fR(5) for descriptions of the following attributes:
95 .sp
97 .sp
98 .TS
99 box;
100 c | c
101 l | l .
102 ATTRIBUTE TYPE  ATTRIBUTE VALUE
104 Interface Stability     Standard: uDAPL, 1.1, 1.2
106 MT-Level        
109 .SH SEE ALSO
112 \fBdat_ia_open\fR(3DAT), \fBdat_provider_fini\fR(3DAT),
113 \fBdat_registry_add_provider\fR(3DAT),
114 \fBdat_registry_remove_provider\fR(3DAT), \fBlibdat\fR(3LIB),
115 \fBattributes\fR(5)