Lines Matching +full:read +full:- +full:out
18 .\" Set up some character translations and predefined strings. \*(-- will
24 .tr \(*W-
27 . ds -- \(*W-
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
37 . ds -- \|\(em\|
71 .\" Fear. Run. Save yourself. No user-serviceable parts.
81 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
97 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
98 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
99 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
100 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
101 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
102 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
104 . \" troff and (daisy-wheel) nroff accents
123 . ds d- d\h'-1'\(ga
124 . ds D- D\h'-1'\(hy
134 .TH SSL_READ 3ossl "2023-09-19" "3.0.11" "OpenSSL"
141 \&\- read bytes from a TLS/SSL connection
155 \&\fBSSL_read_ex()\fR and \fBSSL_read()\fR try to read \fBnum\fR bytes from the specified \fBssl\fR
157 actually read in \fB*readbytes\fR.
160 respectively except no bytes are actually removed from the underlying \s-1BIO\s0 during
161 the read, so that a subsequent call to \fBSSL_read_ex()\fR or \fBSSL_read()\fR will yield
165 In the paragraphs below a \*(L"read function\*(R" is defined as one of \fBSSL_read_ex()\fR,
168 If necessary, a read function will negotiate a \s-1TLS/SSL\s0 session, if not already
170 peer requests a re-negotiation, it will be performed transparently during
171 the read function operation. The behaviour of the read functions depends on the
172 underlying \s-1BIO.\s0
177 invocation of a read function.
179 The read functions work based on the \s-1SSL/TLS\s0 records. The data are received in
182 Therefore, data that was not retrieved at the last read call can still be
183 buffered inside the \s-1SSL\s0 layer and will be retrieved on the next read
184 call. If \fBnum\fR is higher than the number of bytes buffered then the read
186 buffer, the read functions will trigger the processing of the next record.
187 Only when the record has been received and processed completely will the read
189 be returned. As the size of an \s-1SSL/TLS\s0 record may exceed the maximum packet size
190 of the underlying transport (e.g. \s-1TCP\s0), it may be necessary to read several
191 packets from the transport layer before the record is complete and the read call
194 If \fB\s-1SSL_MODE_AUTO_RETRY\s0\fR has been switched off and a non-application data
195 record has been processed, the read function can return and set the error to
196 \&\fB\s-1SSL_ERROR_WANT_READ\s0\fR.
197 In this case there might still be unprocessed data available in the \fB\s-1BIO\s0\fR.
198 If read ahead was set using \fBSSL_CTX_set_read_ahead\fR\|(3), there might also still
199 be unprocessed data available in the \fB\s-1SSL\s0\fR.
202 If the underlying \s-1BIO\s0 is \fBblocking\fR, a read function will only return once the
203 read operation has been finished or an error occurred, except when a
204 non-application data record has been processed and \fB\s-1SSL_MODE_AUTO_RETRY\s0\fR is
206 Note that if \fB\s-1SSL_MODE_AUTO_RETRY\s0\fR is set and only non-application data is
209 If the underlying \s-1BIO\s0 is \fBnonblocking\fR, a read function will also return when
210 the underlying \s-1BIO\s0 could not satisfy the needs of the function to continue the
213 return value of the read function will yield \fB\s-1SSL_ERROR_WANT_READ\s0\fR or
214 \&\fB\s-1SSL_ERROR_WANT_WRITE\s0\fR.
215 As at any time it's possible that non-application data needs to be sent,
216 a read function can also cause write operations.
218 to satisfy the needs of the read function.
219 The action depends on the underlying \s-1BIO.\s0
222 When using a buffering \s-1BIO,\s0 like a \s-1BIO\s0 pair, data must be written into or
223 retrieved out of the \s-1BIO\s0 before being able to continue.
225 \&\fBSSL_pending\fR\|(3) can be used to find out whether there
227 In this case the read function can be called without blocking or actually
232 Success means that 1 or more application data bytes have been read from the \s-1SSL\s0
234 Failure means that no bytes could be read from the \s-1SSL\s0 connection.
236 be delivered by the network) or non-retryable (e.g. a fatal network error).
237 In the event of a failure call \fBSSL_get_error\fR\|(3) to find out the reason which
243 The read operation was successful.
244 The return value is the number of bytes actually read from the \s-1TLS/SSL\s0
248 The read operation was not successful, because either the connection was closed,
250 Call \fBSSL_get_error\fR\|(3) with the return value \fBret\fR to find out the reason.
252 Old documentation indicated a difference between 0 and \-1, and that \-1 was
254 You should instead call \fBSSL_get_error()\fR to find out if it's retryable.
269 Copyright 2000\-2020 The OpenSSL Project Authors. All Rights Reserved.
273 in the file \s-1LICENSE\s0 in the source distribution or at