- 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 )
Handle for an instance of DAT IA.
Connection Qualifier of the IA the Reserved Service Point listens to.
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.
The Event Dispatcher to which an event of Connection Request arrival is generated.
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.
The operation was successful.
The operation failed due to resource limitations.
The ia_handle, evd_handle, or ep_handle parameter is invalid.
The conn_qual parameter is invalid.
Parameter in an invalid state. For example, an Endpoint was not in the Idle state.
Specified Connection Qualifier is in use.
The usage of a Reserve Service Point is as follows:
The DAT Consumer creates a Local Endpoint and configures it appropriately.
The DAT Consumer creates a Reserved Service Point specifying the Local Endpoint.
The Reserved Service Point performs the following:
Collects native transport information reflecting a received Connection Request.
Creates a Pending Connection Request.
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).
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.
Upon receiving a connection request, or at some time subsequent to that, the DAT Consumer must either accept() or reject() the Pending Connection Request.
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.
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(5) for descriptions of the following attributes: