Networking Services Library Functions trcvreldata(3NSL)
NAME
trcvreldata - receive an orderly release indication or con-
firmation containing user data
SYNOPSIS
#include
int trcvreldata(int fd, struct tdiscon *discon);
DESCRIPTION
This function is used to receive an orderly release indica-
tion for the incoming direction of data transfer and to
retrieve any user data sent with the release. The argument
fd identifies the local transport endpoint where the connec-
tion exists, and discon points to a tdiscon structure con-
taining the following members:
struct netbuf udata;
int reason;
int sequence;
After receipt of this indication, the user may not attempt
to receive more data by means of trcv(3NSL) or
trcvv(3NSL) Such an attempt will fail with terror set to
TOUTSTATE. However, the user may continue to send data over
the connection if tsndrel(3NSL) or tsndreldata (3N) has
not been called by the user.
The field reason specifies the reason for the disconnection
through a protocol-dependent reason code, and udata iden-
tifies any user data that was sent with the disconnection;
the field sequence is not used.
If a user does not care if there is incoming data and does
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, trcvreldata() fails with terrno
set to TBUFOVFLW.
SunOS 5.11 Last change: 7 May 1998 1
Networking Services Library Functions trcvreldata(3NSL)
This function is an optional service of the transport pro-
vider, only supported by providers of service type
TCOTSORD. The flag TORDRELDATA in the info->flag field
returned by topen(3NSL) or tgetinfo(3NSL) indicates that
the provider supports orderly release user data; when the
flag is not set, this function behaves like trcvrel(3NSL)
and no user data is returned.
This function may not be available on all systems.
RETURN VALUES
Upon successful completion, a value of 0 is returned. Oth-
erwise, a value of -1 is returned and terrno is set to
indicate an error.
VALID STATES
TDATAXFER, TOUTREL.
ERORS
On failure, terrno is set to one of the following:
TBADF The specified file descriptor does not refer
to a transport endpoint.
TBUFOVFLW The number of bytes allocated for incoming
data (maxlen) is greater than 0 but not suf-
ficient to store the data, and the disconnec-
tion 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.
TLOK An asynchronous event has occurred on this
transport endpoint and requires immediate
attention.
TNOREL No orderly release indication currently
exists on the specified transport endpoint.
TNOTSUPORT Orderly release is not supported by the
underlying transport provider.
TOUTSTATE The communications endpoint referenced by fd
is not in one of the states in which a call
to this function is valid.
SunOS 5.11 Last change: 7 May 1998 2
Networking Services Library Functions trcvreldata(3NSL)
TPROTO This error indicates that a communication
problem has been detected between XTI and the
transport provider for which there is no
other suitable XTI error (terrno).
TSYSER A system error has occurred during execution
of this function.
TLI COMPATIBILITY
In the TLI interface definition, no counterpart of this rou-
tine was defined.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
MT Level Safe
SEE ALSO
tgetinfo(3NSL), topen(3NSL), tsndreldata(3NSL),
trcvrel(3NSL), tsndrel(3NSL), attributes(5)
NOTES
The interfaces tsndreldata(3NSL) and trcvreldata() are
only for use with a specific transport called "minimal OSI,"
which is not available on the Solaris platform. These inter-
faces are not available for use in conjunction with Internet
Transports (TCP or UDP).
SunOS 5.11 Last change: 7 May 1998 3
|