DAT_EP_FREE(3DAT) Direct Access Transport Library Functions

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(7) for descriptions of the following attributes:


+--------------------+---------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+---------------------------+
|Interface Stability | Standard: uDAPL, 1.1, 1.2 |
+--------------------+---------------------------+
|MT-Level | Unsafe |
+--------------------+---------------------------+

SEE ALSO


libdat(3LIB), attributes(7)

July 16, 2004 DAT_EP_FREE(3DAT)

tribblix@gmail.com :: GitHub :: Privacy