t_snddis(3N) manual page
Table of Contents
t_snddis - send user-initiated disconnect request
cc [ flag
... ] file ... -lnsl [ library ... ]
#include <tiuser.h>
int t_snddis(int fildes, struct
t_call *call);
MT-Safe
This function is used to initiate
an abortive release on an already established connection or to reject a
connect request. fildes 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;
int sequence;
netbuf is described in t_connect(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 wish 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(3N)
or t_getinfo(3N)
.
If the len field of udata is zero, no data will be sent to the remote user.
t_snddis() returns 0 on success. On failure t_snddis() returns
-1, t_errno is set to indicate the error, and possibly errno is set.
On
failure, t_errno will be set to one of the following:
- TBADDATA
- The amount
of user data specified was not within the bounds allowed by the transport
provider. The transport provider’s outgoing queue will be flushed, so data
may be lost.
- TBADF
- The specified file descriptor does not refer to a transport
endpoint.
- 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 transport
provider.
- TOUTSTATE
- The function was issued in the wrong sequence. The transport
provider’s outgoing queue may be flushed, so data may be lost.
- TSYSERR
- A
system error has occurred during execution of this function, errno will
be set to the specific error.
t_connect(3N)
, t_getinfo(3N)
, t_listen(3N)
,
t_open(3N)
This interface is safe in multithreaded applications.
Table of Contents