man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: July 2014
 
 

dat_rsp_create(3DAT)

Name

dat_rsp_create - create a Reserved Service Point

Synopsis

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
    )

Parameters

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.

Description

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.

Return Values

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.

Usage

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.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Safe
Standard
uDAPL, 1.1, 1.2

See also

libdat(3LIB), attributes(5)