 |
Index for Section 3 |
|
 |
Alphabetical listing for T |
|
 |
Bottom of page |
|
t_rcvreldata(3)
NAME
t_rcvreldata - Receive an orderly release indication or confirmation
containing user data
SYNOPSIS
#include <xti.h>
int t_rcvreldata(
int fd,
struct t_discon *discon );
LIBRARY
XTI Library (libxti.a)
STANDARDS
Interfaces documented on this reference page conform to industry standards
as follows:
t_rcvreldata(): XNS5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
The following table summarizes the relevance of input and output parameters
before and after t_rcvreldata() is called:
_______________________________________________
Parameters Before Call After Call
_______________________________________________
fd y n
discon->udata.maxlen y e
discon->udata.len n y
discon->udata.buf o (o)
discon->reason n y
discon->sequence n e
_______________________________________________
Notes to Table:
y This is a meaningful parameter.
(y) The content of the object pointed to by y is meaningful.
o This is a meaningful but optional parameter.
(o) The content of the object pointed to by o is meaningful.
e The parameter value after the call is the same as before the call.
n This is not a meaningful parameter.
fd Identifies the local transport endpoint where the connection exists.
discon
Points to a t_discon structure that contains the following members:
struct netbuf udata
Identifies any user data that was sent with the disconnection.
int reason
Specifies a protocol-dependent reason code that explains the
disconnection.
int sequence
Unused.
DESCRIPTION
The t_rcvreldata() function is an XTI connection mode service function that
is used to receive an orderly release indication for the incoming direction
of data transfer and to retrieve any user data sent with the release. After
receipt of this indication, you cannot attempt to receive more data by
using t_rcv() or t_rcvv(). If you do, the attempt will fail with t_error
set to [TOUTSTATE]. However, the you may continue to send data over the
connection if you have not called t_sndrel() or t_sndreldata().
The reason field specifies the reason for the disconnection through a
protocol-dependent reason code, and udata identifies any user data that was
sent with the disconnection; the sequence field is not used.
If you do not care if there is incoming data and doe not need to know the
value of reason, discon may be a null pointer, and any user data associated
with the disconnection will be discarded.
If discon->udata.maxlen is greater than zero and less than the length of
the value, t_rcvreldata() fails with t_errno set to [TBUFOVFLW].
This function is an optional service of the transport provider, only
supported by providers of service type T_COTS_ORD. The T_ORDRELDATA option
in the info->option field returned by t_open() or t_getinfo() indicates
that the provider supports orderly release user data; when the option is
not set, this function behaves as t_rcvrel() and no user data is returned.
This function may not be available on all systems.
ERRORS
If the t_rcvreldata() function fails, t_errno may be set to one of the
following values:
[TBADF]
File descriptor (fd) is not a valid transport endpoint.
[TBUFOVFLW]
The number of bytes allocated for incoming data (maxlen) is greater
than 0, but not sufficient to store the data, and the disconnection
information to be returned in discon will be discarded. The provider
state, as seen by the user, will be changed as if the data was
successfully retrieved.
[TLOOK]
An asynchronous event occurred on this transport endpoint and requires
immediate attention.
[TNOREL]
No orderly release indication currently exists on the specified
transport endpoint.
[TNOTSUPPORT]
Orderly release is not supported by the underlying transport provider.
[TOUTSTATE]
The communications endpoint referenced by fd is not in a valid state in
which a call to this function.
[TPROTO]
A communication problem has been detected between XTI and the transport
provider for which there is no other suitable XTI error (t_errno).
[TSYSERR]
A system error occurred during execution of this function.
VALID STATES
The t_rcvreldata() function can be called in either the T_DATAXFER or
T_OUTREL transport provider states.
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.
SEE ALSO
Functions: t_getinfo(3), t_open(3), t_rcvrel(3), t_sndrel(3),
t_sndreldata(3).
Standards: standards(5)
Network Programmer's Guide
 |
Index for Section 3 |
|
 |
Alphabetical listing for T |
|
 |
Top of page |
|