Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

t_connect(3xti)

t_getinfo(3xti)

t_listen(3xti)

t_open(3xti)

t_snddis(3xti)

Name

t_snddis − send user-initiated disconnect request

Syntax

#include <xti.h>
int t_snddis(fd, call)
int fd;
struct t_call*call;

Arguments

fdIdentifies the local transport endpoint of the connection. 

callSpecifies 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;
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 t_snddis(). 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 t_call() 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 t_open() or t_getinfo(). 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 connect 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 Also

t_connect(3xti), t_getinfo(3xti), t_listen(3xti), t_open(3xti)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026