HP-UX Reference (11i v2 07/12) - 3 Library Functions N-Z (vol 7)

t
t_snddis(3) t_snddis(3)
NAME
t_snddis() - send user-initiated disconnect request
SYNOPSIS
#include <xti.h> /* for X/OPEN Transport Interface - XTI */
/* or */
#include <tiuser.h> /* for Transport Layer Interface - TLI */
int t_snddis (fd, call);
int fd;
struct t_call *call;
DESCRIPTION
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 fol-
lowing members:
struct netbuf addr;
struct netbuf opt;
struct netbuf udata;
int sequence;
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 buffer
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 zero, no data will be sent to the remote user.
Thread-Safeness
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 async-cancel safe nor
async-signal safe. Finally, it is not fork-safe.
Valid States
T_DATAXFER , T_OUTCON, T_OUTREL, T_INREL, T_INCON (ocnt > 0).
Caveats
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
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
On failure, t_errno is set to one of the following:
[TBADF] The specified identifier does not refer to a transport endpoint.
[TOUTSTATE] This function was issued in the wrong sequence on the transport endpoint referenced
by fd.
530 Hewlett-Packard Company 1 HP-UX 11i Version 2: December 2007 Update