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