t_snddis - send user-initiated disconnect request
int t_snddis (int fd, struct t_call *call):
This function is used to initiate an abortive release on an already
established connection or to reject a connect request. fd identifies the
local transport endpoint of the connection, and call specifies
information associated with the abortive release. call points to a
t_call structure that contains the following members:
struct netbuf addr;
struct netbuf opt;
struct netbuf udata;
netbuf is described in intro(3N). The values in call have different
semantics, depending on the context of the call to t_snddis. When
rejecting a connect request, call must be non-NULL and contain a valid
value of sequence to identify uniquely the rejected connect indication to
the transport provider. The addr and opt fields of call are ignored. In
all other cases, call need only be used when data is being sent with the
disconnect request. The addr, opt, and sequence fields of the t_call
structure are ignored. If the user does not want to send data to the
remote user, the value of call may be NULL.
udata 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 t_open
or t_getinfo. If the len field of udata is zero, no data will be sent to
the remote user.
This function resides within both the X/Open compliant libxnet and the
SVR4 compliant libnsl Network Services libraries. Network Services
applications which require X/Open compliance must link-load with -lxnet.
Network Services applications which require SVR4 compliance must linkload
On failure, t_errno may be set to one of the following:
TBADF The specified file descriptor does not refer to a
TOUTSTATE The function was issued in the wrong sequence. The
transport provider's outgoing queue may be flushed, so
data may be lost.
TBADDATA The amount of user data specified was not within the
bounds supported by the transport provider as returned
in the discon field of the info argument of t_open or
t_getinfo. The transport provider's outgoing queue
will be flushed, so data may be lost.
TBADSEQ An invalid sequence number was specified, or a NULL
call structure was specified when rejecting a connect
request. The transport provider's outgoing queue will
be flushed, so data may be lost.
TLOOK An asynchronous event has occurred on this transport
endpoint and requires immediate attention.
TNOTSUPPORT This function is not supported by the underlying
TSYSERR A system error has occurred during execution of this
intro(3N), t_connect(3N), t_getinfo(3N), t_listen(3N), t_open(3N)
t_snddis returns 0 on success and -1 on failure and t_errno is set to
indicate the error.
PPPPaaaaggggeeee 2222 [ Back ]