a263241ab674baa958243a68df8138acae2c941a
[openssl.git] / doc / ssl / SSL_pending.pod
1 =pod
2
3 =head1 NAME
4
5 SSL_pending - obtain number of readable bytes buffered in an SSL object
6
7 =head1 SYNOPSIS
8
9  #include <openssl/ssl.h>
10
11  int SSL_pending(const SSL *ssl);
12
13 =head1 DESCRIPTION
14
15 SSL_pending() returns the number of bytes which are available inside
16 B<ssl> for immediate read.
17
18 =head1 NOTES
19
20 Data are received in blocks from the peer. Therefore data can be buffered
21 inside B<ssl> and are ready for immediate retrieval with
22 L<SSL_read(3)>.
23
24 =head1 RETURN VALUES
25
26 The number of bytes pending is returned.
27
28 =head1 BUGS
29
30 SSL_pending() takes into account only bytes from the TLS/SSL record
31 that is currently being processed (if any).  If the B<SSL> object's
32 I<read_ahead> flag is set (see
33 L<SSL_CTX_set_read_ahead(3)>), additional protocol
34 bytes may have been read containing more TLS/SSL records; these are ignored by
35 SSL_pending().
36
37 Up to OpenSSL 0.9.6, SSL_pending() does not check if the record type
38 of pending data is application data.
39
40 =head1 SEE ALSO
41
42 L<SSL_read(3)>,
43 L<SSL_CTX_set_read_ahead(3)>, L<ssl(3)>
44
45 =cut