|
|
Be aware of the following special considerations when using TLI functions over a TCP/IP provider. The TLI functions are listed in alphabetical order.
This function never returns any user data to the caller. Consequently, the
value of call->udata.len
must be set to zero.
You cannot send user options during connection establishment over
TCP. Consequently, call->opt.len
should be zero when calling t_accept.
TCP returns the maximum segment size negotiated during connection
establishment. Consequently, the value of call->opt.len
will be non-zero.
When using this function with TCP, note that TCP has already synchronized the connection. There is no concept of rejecting a pending connection with TCP.
This function can only be used with TCP. If called on a UDP endpoint, the function returns -1 and t_errno is set to TNOTSUPPORT.
There are no special considerations when calling this function over either TCP or UDP.
TCP will normally disallow binding to an address/port pair if another endpoint exists that has bound to the specified address/port pair. Since TCP retains connection state for up to 4 minutes to satisfy theRFC 793 ``quiet-time'' requirement, you can disable this behavior by using t_optmgmt to enable the SO_REUSEADDR option. This will allow a new endpoint to be bound to a specified address/port pair even if a connection exists in TIME-WAIT state.
UDP will normally disallow binding to an address/port pair if another endpoint exists that has bound to the specified address/port pair. To allow delivery of multicast/broadcast datagrams to multiple application instances, you can disable this behavior by using t_optmgmt to enable the SO_REUSEPORT option. This allows multiple applications to bind to the same port. Note that this only produces the desired behavior for multicast or broadcast datagrams. Unicast datagrams will only be delivered to one process.
There are no special considerations when calling this function over either TCP or UDP.
User data cannot be sent during establishment
of a TCP connection.
Therefore, sndcall->udata.len
must be set to zero.
This field is set correctly if t_alloc
is used to allocate sndcall.
User options cannot be sent during establishment
of a TCP connection.
Therefore, sndcall->opt.len
must
be set to zero.
This field is not set correctly when
t_alloc is used to allocate sndcall.
TCP returns the maximum segment size
negotiated during connection establishment.
Consequently, the value of call->opt.len
is non-zero upon return from t_connect.
This function can be used only with TCP. If called on a UDP endpoint, the function returns -1 and t_errno is set to TNOTSUPPORT.
There are no special considerations when calling this function over either TCP or UDP.
There are no special considerations when calling this function over either TCP or UDP.
These fields are part of the t_info structure returned by t_getinfo when called for TCP:
addr
options
tsdu
etsdu
connect
discon
flags
servtype
addr
options
tsdu
etsdu
connect
discon
flags
servtype
There are no special considerations when calling this function over either TCP or UDP.
You cannot send user data during connection establishment over TCP.
Consequently, call->udata.len
equals zero when
the function returns.
This function can only be used with TCP. If called on a UDP endpoint, the function returns -1 and t_errno is set to TNOTSUPPORT.
There are no special considerations when calling this function over TCP.
Because you cannot send expedited data over UDP, t_look never returns the events T_EXDATA and T_GOEXDATA when used over UDP.
These fields are part of the t_info structure returned by t_open when called for TCP:
addr
options
tsdu
etsdu
connect
discon
flags
servtype
addr
options
tsdu
etsdu
connect
discon
flags
servtype
When used with TLI, the T_CHECK flag also causes the current value of the option to be returned.
Note that TCP does not preserve record boundaries in the data stream. Therefore t_rcv is not guaranteed to return the same number of bytes as were sent by a call to t_snd. Also, this means that the T_MORE flag will never be set in flags upon return from t_rcv.
This function can only be used with TCP. If called on a UDP endpoint, the function returns -1 and t_errno is set to TNOTSUPPORT.
User data cannot be sent during connection
establishment over TCP.
Consequently, call->udata.len
equals zero when the function returns.
TCP returns the maximum segment size
negotiated during connection establishment.
Consequently, the value of call->opt.len
is non-zero when t_rcvconnect returns.
This function can be used only with TCP. If called on a UDP endpoint, the function returns -1 and t_errno is set to TNOTSUPPORT.
You cannot send user data during connection release over TCP.
Consequently, discon->udata.len
equals zero when
the function returns.
discon->reason
will normally be an Internet error code
defined in <sys/errno.h>.
This function can only be used with TCP. If called on a UDP endpoint, the function returns -1 and t_errno is set to TNOTSUPPORT.
There are no special considerations when calling this function over TCP.
This function can only be used with TCP. If called on a UDP endpoint, the function returns -1 and t_errno is set to TNOTSUPPORT.
There are no special considerations when calling this function over UDP.
This function can only be used with UDP. If called on a TCP endpoint, the function returns -1 and t_errno is set to TNOTSUPPORT.
uderr->error
will normally be an Internet error code
defined in <sys/errno.h>.
This function can only be used with UDP. If called on a TCP endpoint, the function returns -1 and t_errno is set to TNOTSUPPORT.
Note that TCP does not preserve record boundaries in the data stream. Therefore a subsequent t_rcv is not guaranteed to return the same number of bytes as were sent by the call to t_snd. Also, TCP does not honor the T_MORE flag.
This function can only be used with TCP. If called on a UDP endpoint, the function returns -1 and t_errno is set to TNOTSUPPORT.
You cannot send user data during connection release over TCP.
Consequently, call->udata.buf
should be set to
NULL, and call->udata.len
should be
set to zero.
You cannot send user options during connection release over TCP.
Consequently, call->opt.buf
should be set to
NULL, and call->opt.len
should be set to zero.
This function can only be used with TCP. If called on a UDP endpoint, the function returns -1 and t_errno is set to TNOTSUPPORT.
There are no special considerations when calling this function over TCP.
This function can only be used with TCP. If called on a UDP endpoint, the function returns -1 and t_errno is set to TNOTSUPPORT.
There are no special considerations when calling this function over UDP.
This function can only be used with UDP. If called on a TCP endpoint, the function returns -1 and t_errno is set to TNOTSUPPORT.
There are no special considerations when calling this function over either TCP or UDP.
There are no special considerations when calling this function over either TCP or UDP.