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_PSP_CREATE 3DAT "Jul 16, 2004"
9 dat_psp_create \- create a persistent Public Service Point
13 cc [ \fIflag\fR\&.\|.\|. ] \fIfile\fR\&.\|.\|. \fB-ldat\fR [ \fIlibrary\fR\&.\|.\|. ]
14 #include <\fBdat/udat.h\fR>
18 IN DAT_IA_HANDLE \fIia_handle\fR,
19 IN DAT_CONN_QUAL \fIconn_qual\fR,
20 IN DAT_EVD_HANDLE \fIevd_handle\fR,
21 IN DAT_PSP_FLAGS \fIpsp_flags\fR,
22 OUT DAT_PSP_HANDLE *\fIpsp_handle\fR
33 Handle for an instance of DAT IA.
42 Connection Qualifier of the IA on which the Public Service Point is listening.
48 \fB\fIevd_handle\fR\fR
51 Event Dispatcher that provides the Connection Requested Events to the Consumer.
52 The size of the event queue for the Event Dispatcher controls the size of the
53 backlog for the created Public Service Point.
62 Flag that indicates whether the Provider or Consumer creates an Endpoint per
63 arrived Connection Request. The value of \fBDAT_PSP_PROVIDER\fR indicates that
64 the Consumer wants to get an Endpoint from the Provider; a value of
65 \fBDAT_PSP_CONSUMER\fR means the Consumer does not want the Provider to provide
66 an Endpoint for each arrived Connection Request.
72 \fB\fIpsp_handle\fR\fR
75 Handle to an opaque Public Service Point.
81 The \fBdat_psp_create()\fR function creates a persistent Public Service Point
82 that can receive multiple requests for connection and generate multiple
83 Connection Request instances that are delivered through the specified Event
84 Dispatcher in Notification events.
87 The \fBdat_psp_create()\fR function is blocking. When the Public Service Point
88 is created, \fBDAT_SUCCESS\fR is returned and \fIpsp_handle\fR contains a
89 handle to an opaque Public Service Point Object.
92 There is no explicit backlog for a Public Service Point. Instead, Consumers can
93 control the size of backlog through the queue size of the associated Event
97 The \fIpsp_flags\fR parameter allows Consumers to request that the Provider
98 create an implicit Endpoint for each incoming Connection Request, or request
99 that the Provider should not create one per Connection Request. If the Provider
100 cannot satisfy the request, the operation shall fail and
101 \fBDAT_MODEL_NOT_SUPPORTED\fR is returned.
104 All Endpoints created by the Provider have \fBDAT_HANDLE_NULL\fR for the
105 Protection Zone and all Event Dispatchers. The Provider sets up Endpoint
106 attributes to match the Active side connection request. The Consumer can change
107 Endpoint parameters. Consumers should change Endpoint parameters, especially PZ
108 and EVD, and are advised to change parameters for local accesses prior to the
109 connection request acceptance with the Endpoint.
114 \fB\fBDAT_SUCCESS\fR\fR
117 The operation was successful.
123 \fB\fBDAT_INSUFFICIENT_RESOURCES\fR\fR
126 The operation failed due to resource limitations.
132 \fB\fBDAT_INVALID_HANDLE\fR\fR
135 The \fIia_handle\fR or \fIevd_handle\fR parameter is invalid.
141 \fB\fBDAT_INVALID_PARAMETER\fR\fR
144 The \fIconn_qual\fR or \fIpsp_flags\fR parameter is invalid.
150 \fB\fBDAT_CONN_QUAL_IN_USE\fR\fR
153 The specified Connection Qualifier was in use.
159 \fB\fBDAT_MODEL_NOT_SUPPORTED\fR\fR
162 The requested Model was not supported by the Provider.
168 Two uses of a Public Service Point are as follows:
175 For this model, the Provider manipulates a pool of Endpoints for a Public
176 Service Point. The Provider can use the same pool for more than one Public
182 The DAT Consumer creates a Public Service Point with a \fIflag\fR set to
183 \fBDAT_PSP_PROVIDER\fR.
189 The Public Service Point does the following:
194 Collects native transport information reflecting a received Connection Reques
200 Creates an instance of Connection Reques
206 Creates a Connection Request Notice (event) that includes the Connection
207 Request instance (thatwhich includes, among others, Public Service Point, its
208 Connection Qualifier, Provider-generated Local Endpoint, and information about
215 Delivers the Connection Request Notice to the Consumer-specified target (CNO)
218 The Public Service Point is persistent and continues to listen for incoming
219 requests for connection.
226 Upon receiving a connection request, or at some time subsequent to that, the
227 DAT Consumer can modify the provided local Endpoint to match the Connection
228 Request and must either \fBaccept()\fR or \fBreject()\fR the pending Connection
235 If accepted, the provided Local Endpoint is now in a "connected" state and is
236 fully usable for this connection, pending only any native transport mandated
237 RTU (ready-to-use) messages. This includes binding it to the IA port if that
238 was not done previously. The Consumer is notified that the Endpoint is in
239 Connected state by a Connection Established Event on the Endpoint
240 \fIconnect_evd_handle\fR.
246 If rejected, control of the Local Endpoint point is returned back to the
247 Provider and its \fIep_handle\fR is no longer usable by the Consumer.
257 For this model, the Consumer manipulates a pool of Endpoints. Consumers can use
258 the same pool for more than one Service Point.
263 DAT Consumer creates a Public Service Point with a \fIflag\fR set to
264 \fBDAT_PSP_CONSUMER\fR.
270 Public Service Point:
275 Collects native transport information reflecting a received Connection Request
281 Creates an instance of Connection Request
287 Creates a Connection Request Notice (event) that includes the Connection
288 Request instance (which includes, among others, Public Service Point, its
289 Connection Qualifier, Provider-generated Local Endpoint and information about
296 Delivers the Connection Request Notice to the Consumer-specified target (CNO)
299 The Public Service Point is persistent and continues to listen for incoming
300 requests for connection.
307 The Consumer creates a pool of Endpoints that it uses for accepting Connection
308 Requests. Endpoints can be created and modified at any time prior to accepting
309 a Connection Request with that Endpoint.
315 Upon receiving a connection request or at some time subsequent to that, the DAT
316 Consumer can modify its local Endpoint to match the Connection Request and must
317 either \fBaccept()\fR or \fBreject()\fR the pending Connection Request.
323 If accepted, the provided Local Endpoint is now in a "connected" state and is
324 fully usable for this connection, pending only any native transport mandated
325 RTU messages. This includes binding it to the IA port if that was not done
326 previously. The Consumer is notified that the Endpoint is in Connected state by
327 a Connection Established Event on the Endpoint \fIconnect_evd_handle\fR.
333 If rejected, the Consumer does not have to provide any Endpoint for
334 \fBdat_cr_reject\fR(3DAT).
341 See \fBattributes\fR(5) for descriptions of the following attributes:
349 ATTRIBUTE TYPE ATTRIBUTE VALUE
351 Interface Stability Standard: uDAPL, 1.1, 1.2
359 \fBdat_cr_reject\fR(3DAT), \fBlibdat\fR(3LIB), \fBattributes\fR(5)