man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: July 2014
 
 

dat_ep_free(3DAT)

Name

dat_ep_free - destroy an instance of the Endpoint

Synopsis

cc [ flag… ] file–ldat [ library… ] 
#include <dat/udat.h>

DAT_RETURN
    dat_ep_free (
    IN    DAT_EP_HANDLE    ep_handle
    )

Parameters

ep_handle

Handle for an instance of the Endpoint.

Description

The dat_ep_free() function destroys an instance of the Endpoint.

The Endpoint can be destroyed in any Endpoint state except Reserved, Passive Connection Pending, and Tentative Connection Pending. The destruction of the Endpoint can also cause the destruction of DTOs and RMRs posted to the Endpoint and not dequeued yet. This includes completions for all outstanding and in-progress DTOs/RMRs. The Consumer must be ready for all completions that are not dequeued yet either still being on the Endpoint recv_evd_handle and request_evd_handle or not being there.

The destruction of the Endpoint during connection setup aborts connection establishment.

If the Endpoint is in the Reserved state, the Consumer shall first destroy the associated Reserved Service Point that transitions the Endpoint into the Unconnected state where the Endpoint can be destroyed. If the Endpoint is in the Passive Connection Pending state, the Consumer shall first reject the associated Connection Request that transitions the Endpoint into the Unconnected state where the Endpoint can be destroyed. If the Endpoint is in the Tentative Connection Pending state, the Consumer shall reject the associated Connection Request that transitions the Endpoint back to Provider control, and the Endpoint is destroyed as far as the Consumer is concerned.

The freeing of an Endpoint also destroys an Event Stream for each of the associated Event Dispatchers.

Use of the handle of the destroyed Endpoint in any subsequent operation except for the dat_ep_free() fails.

Return Values

DAT_SUCCESS

The operation was successful.

DAT_INVALID_HANDLE

The ep_handle parameter is invalid.

DAT_INVALID_STATE

Parameter in an invalid state. The Endpoint is in DAT_EP_STATE_RESERVED, DAT_EP_STATE_PASSIVE_CONNECTION_PENDING , or DAT_EP_STATE_TENTATIVE_CONNECTION_PENDING.

Attributes

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

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

See Also

libdat(3LIB), attributes(5)