NAME [Toc] [Back]
t_snddis() - send user-initiated disconnect request
SYNOPSIS [Toc] [Back]
#include <xti.h> /* for X/OPEN Transport Interface - XTI */
/* or */
#include <tiuser.h> /* for Transport Layer Interface - TLI */
int t_snddis (fd, call);
struct t_call *call;
DESCRIPTION [Toc] [Back]
The t_snddis() 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 which contains the following members:
struct netbuf addr;
struct netbuf opt;
struct netbuf udata;
The type netbuf structure is defined in the <xti.h> or <tiuser.h>
header file. This structure, which is used to define buffer
parameters, has the following members:
unsigned int maxlen maximum byte length of the data buffer
unsigned int len actual byte length of data written to
char *buf points to buffer location
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 a non-null pointer 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 (see t_getstate(3)). 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 a null pointer.
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
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: August 2003
zero, no data will be sent to the remote user.
Thread-Safeness [Toc] [Back]
The t_snddis() function is safe to be called by multithreaded
applications, and it is thread-safe for both POSIX Threads and DCE
User Threads. It has a cancellation point. It is neither asynccancel
safe nor async-signal safe. Finally, it is not fork-safe.
Valid States [Toc] [Back]
T_DATAXFER, T_OUTCON, T_OUTREL, T_INREL, T_INCON (ocnt > 0).
Caveats [Toc] [Back]
t_snddis() is an abortive disconnect. Therefore a t_snddis() issued
on a connection endpoint may cause data previously sent via t_snd() or
data not yet received to be lost (even if an error is returned).
RETURN VALUE [Toc] [Back]
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 [Toc] [Back]
On failure, t_errno is set to one of the following:
[TBADF] The specified identifier does not refer to a
[TOUTSTATE] This function was issued in the wrong sequence on
the transport endpoint referenced by fd.
[TBADDATA] (XTI only) The amount of user data specified was
not within the bounds allowed by the transport
provider. Some outbound data queued for this
endpoint may be lost.
[TBADSEQ] An invalid sequence was specified, or a null call
pointer was specified when rejecting a connect
request. Some outbound data queued for this
endpoint may be lost.
[TLOOK] An asynchronous event has occurred on this
transport endpoint and requires immediate
[TNOTSUPPORT] This function is not supported by the underlying
[TSYSERR] A system error has occurred during execution of
[TPROTO] (XTI only) This error indicates that a
communication problem has been detected between
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: August 2003
XTI and the transport provider for which there is
no other suitable XTI (t_errno).
SEE ALSO [Toc] [Back]
t_connect(3), t_getinfo(3), t_listen(3), t_open(3).
STANDARDS CONFORMANCE [Toc] [Back]
t_snddis(): SVID2, XPG3, XPG4
Hewlett-Packard Company - 3 - HP-UX 11i Version 2: August 2003 [ Back ]