SSL_PENDING(3) | Library Functions Manual | SSL_PENDING(3)

# NAME

`SSL_pending` — obtain number of readable bytes buffered in an SSL object

# SYNOPSIS

library “libssl” libcrypto
`#include <openssl/ssl.h>`

int
`SSL_pending`(const SSL *ssl);

# DESCRIPTION

Data is received in whole blocks known as records from the peer. A whole record is processed, for example decrypted, in one go and is buffered until it is read by the application via a call to SSL_read(3).

`SSL_pending`() returns the number of bytes of application data which are available for immediate read.

`SSL_pending`() takes into account only bytes from the TLS/SSL record that is currently being processed (if any).

# RETURN VALUES

`SSL_pending`() returns the number of buffered and processed application data bytes that are pending and are available for immediate read.

# SEE ALSO

ssl(3), SSL_read(3)

# HISTORY

`SSL_pending`() appeared in SSLeay 0.4 or earlier and has been available since OpenBSD 2.4.

# BUGS

Up to OpenSSL 0.9.6, `SSL_pending`() did not check if the record type of pending data is application data.

June 8, 2025 | Debian