t_listen(3)t_listen(3)NAMEt_listen() - listen for a connect request
SYNOPSISDESCRIPTION
The function listens for a connect request from a calling transport
user. fd identifies the local transport endpoint where connect indica‐
tions arrive. On return, call contains information describing the con‐
nect indication. The parameter call points to a structure which con‐
tains the following members:
The type structure is defined in the or header file. This structure,
which is used to define buffer parameters, has the following members:
maximum byte length of the data buffer
actual byte length of data written to buffer
points to buffer location
In call, addr returns the protocol address of the calling transport
user. This address is in a format usable in future calls to Note, how‐
ever that may fail for other reasons, for example [TADDRBUSY].
opt returns protocol-specific parameters associated with the connect
request. For XTI over the OSI transport provider, struct should be
used. For TLI, see the documentation for the transport provider being
used.
udata returns any user data sent by the caller on the connect request.
sequence is a number that uniquely identifies the returned connect
indication. The value of sequence enables the user to listen for mul‐
tiple connect indications before responding to any of them.
Since this function returns values for the addr, opt, and udata fields
of call, the maxlen field of each must be set before issuing the to
indicate the maximum size of the buffer for each.
By default, executes in synchronous mode and waits for a connect indi‐
cation to arrive before returning to the user. However, if is set (via
or executes asynchronously, reducing to a poll for existing connect
indications. If none are available, it returns −1 and sets to [TNO‐
DATA].
Valid States
Caveats
Some transport providers do not differentiate between a connect indica‐
tion and the connection itself. If this is the case, a successful
return of indicates an existing connection (see Appendix B, "Internet
Protocol-specific Information," of the manual).
Fork Safety
is not fork-safe.
RETURN VALUE
Upon successful completion, a value of 0 is returned Otherwise, a
value of −1 it returned and is set to indicate the error.
ERRORS
On failure, is set to the following:
[TBADF] The specified identifier does not refer to a transport
endpoint.
[TBADQLEN] The argument qlen of the endpoint referenced by fd is
zero.
[TBUFOVFLW] The number of bytes allocated for an incoming argument
(maxlen) is not sufficient to store the value of that
argument. The provider's state, as seen by the user,
changes to T_INCON, and the connect indication infor‐
mation to be returned in call is discarded. For XTI
only, the value of sequence returned can be used to do
a
[TNODATA] was set, but no connect indication has been queued.
[TLOOK] An asynchronous event has occurred on this transport
endpoint and requires immediate attention.
[TOUTSTATE] This function was issued in the wrong sequence on the
transport endpoint referenced by fd.
[TSYSERR] A system error has occurred during execution of this
function.
[TQFULL] The maximum number of outstanding indications has been
reached for the endpoint referenced by fd.
[TPROTO] (XTI only) This error indicates that a communication
problem has been detected between XTI and the trans‐
port provider for which there is no suitable XTI (
FILES
XTI data structures
TLI data structures
SEE ALSOfcntl(2), t_accept(3), t_alloc(3), t_bind(3), t_connect(3), t_open(3),
t_snddis(3), t_rcvconnect(3), thread_safety(5).
STANDARDS CONFORMANCEt_listen(3)