t_snddis(3xti)t_snddis(3xti)Namet_snddis - send user-initiated disconnect request
Syntax
#include <xti.h>
int t_snddis(fd, call)
int fd;
struct t_call*call;
Arguments
fd Identifies the local transport endpoint of the connection.
call Specifies information associated with the abortive release.
Call points to a t_call structure which contains the follow‐
ing members:
struct netbuf addr;
struct netbuf opt;
struct netbuf udata;
int sequence;
Description
This function is used to initiate an abortive release on an already
established connection or to reject a connect request.
──────────────────────────────────────────────
Parameters Before Call After Call
──────────────────────────────────────────────
fd x /
call->addr.maxlen x /
call->addr.len x /
call->addr.buf / /
call->opt.maxlen / /
call->opt.len / /
call->opt.buf / /
call->udata.maxlen / /
call->udata.len x /
call->udata.buf ?(?) /
call->sequence ? /
──────────────────────────────────────────────
The values in call have different semantics, depending on the context
of the call to When rejecting a connect request, call must be non-NULL
and contain a valid value of sequence to uniquely identify the rejected
connect indication to the transport provider. The sequence parameter is
only meaningful, if the transport connection is in the T_INCON state.
The addr and opt fields of call are ignored. In all other cases, call
needs be used only when data is being sent with the disconnect request.
The addr, opt, and sequence fields of the structure are ignored. If the
user does not wish to send data to the remote user, the value of call
can be NULL.
The udata field specifies the user data to be sent to the remote user.
The amount of user data must not exceed the limits supported by the
transport provider as returned in the discon field of the info argument
of or If the len field of the udata is zero, no data is sent to the
remote user.
Return Values
Upon successful completion, a value of 0 is returned. On failure, a
value of -1 is returned, and t_errno is set to indicate the error.
Diagnostics
On failure, t_errno is set to one of the following:
[TBADF] The specified file descriptor does not refer to a
transport endpoint.
[TOUTSTATE] The function was issued in the wrong sequence on
the transport endpoint referenced by fd.
[TBADDATA] The amount of user data specified was not within
the bounds allowed by the transport provider. Some
outbound data queued for this endpoint can be lost.
[TBADSEQ] An invalid sequence number was specified, or a NULL
call structure was specified when rejecting a con‐
nect request. Some outbound data queued for this
endpoint can be lost.
[TNOTSUPPORT] This function is not supported by the underlying
transport provider.
[TSYSERR] A system error has occurred during execution of
this function.
See Alsot_connect(3xti), t_getinfo(3xti), t_listen(3xti), t_open(3xti)t_snddis(3xti)