t_listen(3) Library Functions Manual t_listen(3)
NAME
t_listen() - listen for a connect request
SYNOPSIS
DESCRIPTION
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 connect 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 multi-
ple 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 indication 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
[TNODATA].
Valid States
Caveats
Some transport providers do not differentiate between a connect indication 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 information 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 transport provider for
which there is no suitable XTI (
FILES
XTI data structures
TLI data structures
SEE ALSO
fcntl(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 CONFORMANCE
t_listen(3)