t_sndrel Subroutine for Transport Layer Interface

Purpose

Initiates an orderly release of a transport connection.

Library

Transport Layer Interface Library (libtli.a)

Syntax

#include <tiuser.h>

int t_sndrel(fd)
int  fd;

Description

The t_sndrel subroutine is used to initiate an orderly release of a transport connection and indicates to the transport provider that the transport user has no more data to send.

After issuing a t_sndrel subroutine call, the user cannot send any more data over the connection. However, a user can continue to receive data if an orderly release indication has been received.

The t_sndrel subroutine is an optional service of the transport provider and is only supported if the transport provider returned service type T_COTS_ORD in the t_open or t_getinfo subroutine.

Parameter

Item Description
fd Identifies the local transport endpoint where the connection exists.

Return Values

On successful completion, the t_sndrel subroutine returns a value of 0. Otherwise, it returns a value of -1 and sets the t_errno variable to indicate the error.

Error Codes

If unsuccessful, the t_errno variable is set to one of the following:

Value Description
TBADF The specified file descriptor does not refer to a transport endpoint.
TFLOW The O_NDELAY or O_NONBLOCK flag was set, but the flow-control mechanism prevented the transport provider from accepting the function at this time.
TLOOK An asynchronous event has occurred on the transport end point reference by the fd parameter and requires immediate attention.
TNOTSUPPORT This subroutine is not supported by the underlying transport provider.
TOUTSTATE The subroutine was issued in the wrong sequence.
TSYSERR A system error has occurred during execution of this subroutine.