HP-UX Reference (11i v3 07/02) - 3 Library Functions N-Z (vol 7)
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) indicates 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 deter-
mine 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 establish-
ment 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 informa-
tion.
[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 transport
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 synchronous
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 immedi-
ate 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).
514 Hewlett-Packard Company − 2 − HP-UX 11i Version 3: February 2007