
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)|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, additional protocol bytes may have been 33: read containing more TLS/SSL records; these are ignored by 34: SSL_pending(). 35: 36: Up to OpenSSL 0.9.6, SSL_pending() does not check if the record type 37: of pending data is application data. 38: 39: =head1 SEE ALSO 40: 41: L<SSL_read(3)|SSL_read(3)>, L<ssl(3)|ssl(3)> 42: 43: =cut