Initiates an orderly release of a transport connection.
Transport Layer Interface Library (libtli.a)
#include <tiuser.h>
int t_sndrel(fd)
int fd;
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.
Item | Description |
---|---|
fd | Identifies the local transport endpoint where the connection exists. |
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.
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. |