Direct Access Transport Library Functions datcraccept(3DAT)
NAME
datcraccept - establishes a Connection between the active
remote side requesting Endpoint and the passive side local
Endpoint
SYNOPSIS
cc [ flag... ] file... -ldat [ library... ]
#include
DATRETURN
datcraccept (
IN DATCRHANDLE crhandle,
IN DATEPHANDLE ephandle,
IN DATCOUNT privatedatasize,
IN const DATPVOID privatedata
)
PARAMETERS
crhandle Handle to an instance of a Connection
Request that the Consumer is accepting.
ephandle Handle for an instance of a local End-
point that the Consumer is accepting
the Connection Request on. If the local
Endpoint is specified by the Connection
Request, the ephandle shall be
DATHANDLENUL.
privatedatasize Size of the privatedata, which must be
nonnegative.
privatedata Pointer to the private data that should
be provided to the remote Consumer when
the Connection is established. If
privatedatasize is zero, then
privatedata can be NUL.
DESCRIPTION
The datcraccept() function establishes a Connection
between the active remote side requesting Endpoint and the
passive side local Endpoint. The local Endpoint is either
specified explicitly by ephandle or implicitly by a Connec-
tion Request. In the second case, ephandle is
DATHANDLENUL.
SunOS 5.11 Last change: 16 Jul 2004 1
Direct Access Transport Library Functions datcraccept(3DAT)
Consumers can specify private data that is provided to the
remote side upon Connection establishment.
If the provided local Endpoint does not satisfy the
requested Connection Request, the operation fails without
any effect on the local Endpoint, Pending Connection
Request, private data, or remote Endpoint.
The operation is asynchronous. The successful completion of
the operation is reported through a Connection Event of type
DATCONECTIONEVENTESTABLISHED on the connectevd of the
local Endpoint.
If the Provider cannot complete the Connection establish-
ment, the connection is not established and the Consumer is
notified through a Connection Event of type
DATCONECTIONEVENTACEPTCOMPLETIONEROR on the
connectevd of the local Endpoint. It can be caused by the
active side timeout expiration, transport error, or any
other reason. If Connection is not established, Endpoint
transitions into Disconnected state and all posted Recv DTOs
are flushed to its recvevdhandle.
This operation, if successful, also destroys the Connection
Request instance. Use of the handle of the destroyed
crhandle in any consequent operation fails.
RETURN VALUES
DATSUCES The operation was successful.
DATINVALIDHANDLE The crhandle or ephandle parame-
ter is invalid.
DATINVALIDPARAMETER The privatedatasize or
privatedata parameter is invalid,
out of range, or a combination of
parameters was invalid
USAGE
Consumers should be aware that Connection establishment
might fail in the following cases: If the accepting Endpoint
has an outstanding RDMA Read outgoing attribute larger than
the requesting remote Endpoint or outstanding RDMA Read
incoming attribute, or if the outstanding RDMA Read incoming
attribute is smaller than the requesting remote Endpoint or
SunOS 5.11 Last change: 16 Jul 2004 2
Direct Access Transport Library Functions datcraccept(3DAT)
outstanding RDMA Read outgoing attribute.
Consumers should set the accepting Endpoint RDMA Reads as
the target (incoming) to a number larger than or equal to
the remote Endpoint RDMA Read outstanding as the originator
(outgoing), and the accepting Endpoint RDMA Reads as the
originator to a number smaller than or equal to the remote
Endpoint RDMA Read outstanding as the target. DAT API does
not define a protocol on how remote peers exchange Endpoint
attributes. The exchange of outstanding RDMA Read incoming
and outgoing attributes of EPs is left to the Consumer ULP.
Consumer can use Private Data for it.
If the Consumer does not care about posting RDMA Read opera-
tions or remote RDMA Read operations on the connection, it
can set the two outstanding RDMA Read attribute values to 0.
If the Consumer does not set the two outstanding RDMA Read
attributes of the Endpoint, the Provider is free to pick up
any value for default. The Provider can change these default
values during connection setup.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Standard: uDAPL, 1.1, 1.2
MT-Level Unsafe
SEE ALSO
libdat(3LIB), attributes(5)
SunOS 5.11 Last change: 16 Jul 2004 3
|