dat_rsp_create - create a Reserved Service Point
cc [ flag... ] file... -ldat [ library... ]
#include <dat/udat.h>
DAT_RETURN
dat_rsp_create (
IN DAT_IA_HANDLE ia_handle,
IN DAT_CONN_QUAL conn_qual,
IN DAT_EP_HANDLE ep_handle,
IN DAT_EVD_HANDLE evd_handle,
OUT DAT_RSP_HANDLE *rsp_handle
)
ia_handle
Handle for an instance of DAT IA.
conn_qual
Connection Qualifier of the IA the Reserved Service Point
listens to.
ep_handle
Handle for the Endpoint associated with the Reserved
Service Point that is the only Endpoint that can accept a Connection Request
on this Service Point. The value DAT_HANDLE_NULL requests the Provider
to associate a Provider-created Endpoint with this Service Point.
evd_handle
The Event Dispatcher to which an event of Connection
Request arrival is generated.
rsp_handle
Handle to an opaque Reserved Service Point.
The dat_rsp_create() function creates a Reserved Service
Point with the specified Endpoint that generates, at most, one Connection
Request that is delivered to the specified Event Dispatcher in a
Notification event.
DAT_SUCCESS
The operation was successful.
DAT_INSUFFICIENT_RESOURCES
The operation failed due to resource limitations.
DAT_INVALID_HANDLE
The ia_handle, evd_handle, or
ep_handle parameter is invalid.
DAT_INVALID_PARAMETER
The conn_qual parameter is invalid.
DAT_INVALID_STATE
Parameter in an invalid state. For example, an Endpoint
was not in the Idle state.
DAT_CONN_QUAL_IN_USE
Specified Connection Qualifier is in use.
The usage of a Reserve Service Point is as follows:
- o
- The DAT Consumer creates a Local Endpoint and configures it
appropriately.
- o
- The DAT Consumer creates a Reserved Service Point specifying the Local
Endpoint.
- o
- The Reserved Service Point performs the following:
- o
- Collects native transport information reflecting a received Connection
Request.
- o
- Creates a Pending Connection Request.
- o
- Creates a Connection Request Notice (event) that includes the Pending
Connection Request (which includes, among others, Reserved Service Point
Connection Qualifier, its Local Endpoint, and information about remote
Endpoint).
- o
- Delivers the Connection Request Notice to the Consumer-specified target
(CNO) evd_handle. The Local Endpoint is transitioned from Reserved
to Passive Connection Pending state.
- o
- Upon receiving a connection request, or at some time subsequent to that,
the DAT Consumer must either accept() or reject() the
Pending Connection Request.
- o
- If accepted, the original Local Endpoint is now in a Connected
state and fully usable for this connection, pending only native transport
mandated RTU messages. This includes binding it to the IA port if that was
not done previously. The Consumer is notified that the Endpoint is in a
Connected state by a Connection Established Event on the Endpoint
connect_evd_handle.
- o
- If rejected, the Local Endpoint point transitions into Unconnected
state. The DAT Consumer can elect to destroy it or reuse it for other
purposes.
See attributes(7) for descriptions of the following
attributes:
ATTRIBUTE
TYPE |
ATTRIBUTE VALUE |
Interface Stability |
Standard: uDAPL, 1.1, 1.2 |
MT-Level |
Safe |