t_rcvrel(3) — Subroutines
NAME
t_rcvrel − Acknowledges receipt of an orderly release indication
LIBRARY
XTI Library (libxti.a)
SYNOPSIS
#include <xti.h>
int t_rcvrel(
int fd) ;
PARAMETERS
The t_rcvrel() function can be called in the T_DATAXFER and T_OUTREL transport provider states only. The following table summarizes the relevance of input parameter data before and after t_rcvrel() is called:
| Parameter | Before Call | After Call |
| fd | y | n |
Notes to Table:
yThis is a meaningful parameter.
nThis is not a meaningful parameter.
fd Specifies a file descriptor returned by the t_open() function that identifies a local transport endpoint that has been released.
DESCRIPTION
The t_rcvrel() XTI function is used in connection-oriented mode to acknowledge receipt of an orderly release indication at a transport endpoint. The released endpoint is specified by a file descriptor previously returned by the t_open() function.
After receipt of this orderly release indication, at the transport endpoint specified by the file descriptor, a transport user should not try to receive additional data from that transport endpoint. Any attempt to receive more data from a released transport endpoint blocks continuously. However, a transport user may continue to send data across the connection until a release is sent by a transport user who invokes a t_sndrel() function call.
The t_rcvrel() function should not be used unless the servtype type-of-service returned by the t_open() or t_getinfo() functions is T_COTS_ORD (supports connection-mode service with the optional orderly release facility).
RETURN VALUE
Upon successful completion, a value of 0 (zero) is returned. Otherwise, a value of -1 is returned and t_errno is set to indicate the error.
ERRORS
If the t_rcvrel() function fails, t_errno may be set to one of the following values:
[TBADF] File descriptor fd does not refer to a valid transport endpoint.
[TNOREL] No orderly release indication currently exists at the transport endpoint specified by the fd parameter.
[TLOOK] An asynchronous event has occurred on the transport endpoint specified by the fd parameter and requires immediate attention.
[TSYSERR] A system error occurred during execution of this function.
[TOUTSTATE]
The t_rcvrel() function was issued in the wrong sequence at the transport endpoint referenced by the fd parameter.
[TNOTSUPPORT]
This function is not supported by the underlying transport provider.
RELATED INFORMATION
Functions: t_getinfo(3), t_open(3), t_sndrel(3)