cc [ flag ... ] file ... -lnsl [ library ... ]
#include <tiuser.h>
int t_rcvconnect(int fildes, struct t_call *call);
MT-Safe
fildes identifies the local transport endpoint where communication will be established, and call contains information associated with the newly established connection. call points to a t_call structure which contains the following members:
struct netbuf addr; struct netbuf opt; struct netbuf udata; int sequence;
netbuf is described in t_connect(3N) . In call, addr returns the protocol address associated with the responding transport endpoint, opt presents any protocol-specific information associated with the connection, udata points to optional user data that may be returned by the destination transport user during connection establishment, and sequence has no meaning for this function.
The maxlen (see netbuf in t_connect(3N) ) field of each argument must be set before issuing this function to indicate the maximum size of the buffer for each. However, call may be NULL , in which case no information is given to the user on return from t_rcvconnect(). By default, t_rcvconnect() executes in synchronous mode and waits for the connection to be established before returning. On return, the addr, opt, and udata fields reflect values associated with the connection.
If O_NDELAY or O_NONBLOCK is set (using t_open(3N) or fcntl(2) ), t_rcvconnect() executes in asynchronous mode, and reduces to a poll for existing connect confirmations. If none are available, t_rcvconnect() fails and returns immediately without waiting for the connection to be established. (See TNODATA below.) t_rcvconnect() must be re-issued at a later time to complete the connection establishment phase and retrieve the information returned in call.
On failure, t_errno will be set to one of the following: