1t_rcvreldata(3NSL)   Networking Services Library Functions  t_rcvreldata(3NSL)
2
3
4

NAME

6       t_rcvreldata  -  receive  an orderly release indication or confirmation
7       containing user data
8

SYNOPSIS

10       #include <xti.h>
11
12
13
14       int t_rcvreldata(int fd, struct t_discon *discon);
15
16

DESCRIPTION

18       This function is used to receive an orderly release indication for  the
19       incoming  direction of data transfer and to retrieve any user data sent
20       with the release. The argument  fd identifies the local transport  end‐
21       point  where  the  connection  exists, and  discon points to a t_discon
22       structure containing the following members:
23
24         struct netbuf udata;
25         int reason;
26         int sequence;
27
28
29
30       After receipt of this indication, the user may not attempt  to  receive
31       more  data  by  means  of  t_rcv(3NSL) or  t_rcvv(3NSL) Such an attempt
32       will fail with  t_error set to TOUTSTATE. However, the  user  may  con‐
33       tinue  to send data over the connection if  t_sndrel(3NSL) or t_sndrel‐
34       data (3N) has not been called by the user.
35
36
37       The field  reason specifies the reason for the disconnection through  a
38       protocol-dependent   reason  code,  and  udata identifies any user data
39       that was sent with the disconnection; the field  sequence is not used.
40
41
42       If a user does not care if there is incoming data and does not need  to
43       know  the  value of  reason, discon may be a null pointer, and any user
44       data associated with the disconnection will be discarded.
45
46
47       If  discon→udata.maxlen is greater than zero and less than  the  length
48       of the value,  t_rcvreldata() fails with  t_errno set to TBUFOVFLW.
49
50
51       This  function  is  an optional service of the transport provider, only
52       supported by providers of service type T_COTS_ORD. The flag   T_ORDREL‐
53       DATA  in  the   info→flag  field  returned  by  t_open(3NSL) or  t_get‐
54       info(3NSL) indicates that the provider supports  orderly  release  user
55       data;   when   the   flag  is  not  set,  this  function  behaves  like
56       t_rcvrel(3NSL) and no user data is returned.
57
58
59       This function may not be available on all systems.
60

RETURN VALUES

62       Upon successful completion, a value of  0  is  returned.  Otherwise,  a
63       value of  -1 is returned and  t_errno is set to indicate an error.
64

VALID STATES

66       T_DATAXFER, T_OUTREL.
67

ERRORS

69       On failure,  t_errno is set to one of the following:
70
71       TBADF          The specified file descriptor does not refer to a trans‐
72                      port endpoint.
73
74
75       TBUFOVFLW      The number of bytes allocated for incoming data (maxlen)
76                      is  greater than 0 but not sufficient to store the data,
77                      and the disconnection  information  to  be  returned  in
78                      discon will be discarded. The provider state, as seen by
79                      the user, will be changed as if the  data  was  success‐
80                      fully retrieved.
81
82
83       TLOOK          An  asynchronous  event  has  occurred on this transport
84                      endpoint and requires immediate attention.
85
86
87       TNOREL         No orderly release indication currently  exists  on  the
88                      specified transport endpoint.
89
90
91       TNOTSUPPORT    Orderly  release  is  not  supported  by  the underlying
92                      transport provider.
93
94
95       TOUTSTATE      The communications endpoint referenced by fd is  not  in
96                      one  of  the  states in which a call to this function is
97                      valid.
98
99
100       TPROTO         This error indicates that a  communication  problem  has
101                      been detected between XTI and the transport provider for
102                      which there is no other suitable XTI error (t_errno).
103
104
105       TSYSERR        A system error has occurred  during  execution  of  this
106                      function.
107
108

TLI COMPATIBILITY

110       In  the  TLI  interface  definition, no counterpart of this routine was
111       defined.
112

ATTRIBUTES

114       See attributes(5)  for descriptions of the following attributes:
115
116
117
118
119       ┌─────────────────────────────┬─────────────────────────────┐
120       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
121       ├─────────────────────────────┼─────────────────────────────┤
122       │MT Level                     │Safe                         │
123       └─────────────────────────────┴─────────────────────────────┘
124

SEE ALSO

126       t_getinfo(3NSL),  t_open(3NSL),   t_sndreldata(3NSL),   t_rcvrel(3NSL),
127       t_sndrel(3NSL), attributes(5)
128

NOTES

130       The  interfaces  t_sndreldata(3NSL) and t_rcvreldata() are only for use
131       with a specific transport called "minimal OSI," which is not  available
132       on  the Solaris platform. These interfaces are not available for use in
133       conjunction with Internet Transports (TCP or UDP).
134
135
136
137SunOS 5.11                        7 May 1998                t_rcvreldata(3NSL)
Impressum