t_connect.3 (2010 09)

t
t_connect(3) t_connect(3)
By default, t_connect() executes in synchronous mode and will wait for the destination user’s
response before returning control to the local user. A successful return (i.e., return value of zero) indi-
cates that the requested connection has been established. However, if
O_NONBLOCK is set (via
t_open() or fcntl()), t_connect() executes in asynchronous mode. In this case, the call will not
wait for the remote user’s response, but will return control immediately to the local user and return 1
with
t_errno set to [TNODATA] to indicate that the connection has not yet been established. In this
way, the function simply initiates the connection establishment procedure by sending a connect request to
the destination transport user. The t_rcvconnect()
function is used in conjunction with
t_connect() to determine the status of the requested connection.
When a synchronous
t_connect() call is interrupted by the arrival of a signal, the state of the
corresponding transport endpoint is
T_OUTCON, allowing a further call to either
t_rcvconnect(),
t_rcvdis(),ort_snddis().
Valid States
T_IDLE
Fork Safety
t_connect is not fork-safe.
RETURN VALUE
Upon successful completion, a value of 0 is returned. Otherwise, a value of 1 is returned and
t_errno
is set to indicate the error.
ERRORS
[TBADF] The specified file descriptor does not refer to a transport endpoint.
[TOUTSTATE] The function was issued in the wrong sequence.
[TNODATA]
O_NONBLOCK was set, so the function successfully initiated the connection estab-
lishment procedure, but did not wait for a response from the remote user.
[TBADADDR] The specified protocol address was in an incorrect format or contained illegal infor-
mation.
[TBADOPT] The specified protocol options were in incorrect format or contained illegal informa-
tion.
[TBADDATA] The amount of user data specified was not within the bounds allowed by the tran-
sport provider.
[TACCES] The user does not have permission to use the specified address or options.
[TBUFOVFLW] The number of bytes allocated for an incoming argument (maxlen ) is greater than
zero but not sufficient to store the value of that argument. If executed in synchro-
nous mode, the provider’s state, as seen by the user, changes to
T_DATAXFER, and
the connect indication information to be returned in rcvcall is discarded.
[TLOOK] An asynchronous event has occurred on this transport endpoint and requires
immediate attention.
[TNOTSUPPORT] This function is not supported by the underlying transport provider.
[TSYSERR] A system error has occurred during execution of this function.
[TADDRBUSY] This transport provider does not support multiple connections with the same local
and remote addresses. This error indicates that a connection already exists.
[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
(
t_errno).
FILES
/usr/include/xti.h XTI data structures
/usr/include/tiuser.h TLI data structures
SEE ALSO
fcntl(2), t_accept(3), t_alloc(3), t_getinfo(3), t_listen(3), t_open(3), t_rcvconnect(3), thread_safety(5).
2 Hewlett-Packard Company 2 HP-UX 11i Version 3: September 2010