DAT_EP_RESET(3DAT) Direct Access Transport Library Functions DAT_EP_RESET(3DAT)

dat_ep_reset - transition the local Endpoint from a Disconnected to an Unconnected state

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

dat_ep_reset (
IN DAT_EP_HANDLE ep_handle
)

ep_handle

Handle for an instance of Endpoint.

The dat_ep_reset() function transitions the local Endpoint from a Disconnected to an Unconnected state.

The operation might cause the loss of any completions of previously posted DTOs and RMRs that were not dequeued yet.

The dat_ep_reset() function is valid for both Disconnected and Unconnected states. For Unconnected state, the operation is no-op because the Endpoint is already in an Unconnected state. For an Unconnected state, the preposted Recvs are not affected by the call.

DAT_SUCCESS

The operation was successful.

DAT_INVALID_HANDLE

ep_handle is invalid.

DAT_INVALID_STATE

Parameter in an invalid state. Endpoint is not in the valid state for reset.

If the Consumer wants to ensure that all Completions are dequeued, the Consumer can post DTO or RMR operations as a "marker" that are flushed to recv_evd_handle or request_evd_handle. Now, when the Consumer dequeues the completion of the "marker" from the EVD, it is guaranteed that all previously posted DTO and RMR completions for the Endpoint were dequeued for that EVD. Now, it is safe to reset the Endpoint without losing any completions.

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

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

libdat(3LIB), attributes(7)

July 16, 2004 OmniOS