| =pod |
| |
| =head1 NAME |
| |
| SSL_pending - obtain number of readable bytes buffered in an SSL object |
| |
| =head1 SYNOPSIS |
| |
| #include <openssl/ssl.h> |
| |
| int SSL_pending(const SSL *ssl); |
| |
| =head1 DESCRIPTION |
| |
| SSL_pending() returns the number of bytes which are available inside |
| B<ssl> for immediate read. |
| |
| =head1 NOTES |
| |
| Data are received in blocks from the peer. Therefore data can be buffered |
| inside B<ssl> and are ready for immediate retrieval with |
| L<SSL_read(3)|SSL_read(3)>. |
| |
| =head1 RETURN VALUES |
| |
| The number of bytes pending is returned. |
| |
| =head1 BUGS |
| |
| SSL_pending() takes into account only bytes from the TLS/SSL record |
| that is currently being processed (if any). If the B<SSL> object's |
| I<read_ahead> flag is set (see |
| L<SSL_CTX_set_read_ahead(3)|SSL_CTX_set_read_ahead(3)>), additional protocol |
| bytes may have been read containing more TLS/SSL records; these are ignored by |
| SSL_pending(). |
| |
| Up to OpenSSL 0.9.6, SSL_pending() does not check if the record type |
| of pending data is application data. |
| |
| =head1 SEE ALSO |
| |
| L<SSL_read(3)|SSL_read(3)>, |
| L<SSL_CTX_set_read_ahead(3)|SSL_CTX_set_read_ahead(3)>, L<ssl(3)|ssl(3)> |
| |
| =cut |