libressl-SSL_rstate_string(3)

libressl-SSL_rstate_string3

Get textual description of state of an ssl object during read operation

Usage

SSL Library (libssl, -lssl) libcrypto

#include <openssl/ssl.h>

const char *

SSL_rstate_string(SSL *ssl);

const char *

SSL_rstate_string_long(SSL *ssl);

Overview

SSL_rstate_string() returns a 2-letter string indicating the current read state of the SSL object ssl.

SSL_rstate_string_long() returns a string indicating the current read state of the SSL object ssl.

When performing a read operation, the SSL/TLS engine must parse the record, consisting of header and body. When working in a blocking environment, SSL_rstate_string[_long]() should always return "RD"/"read done".

This function should only seldom be needed in applications.

Return values

SSL_rstate_string() and SSL_rstate_string_long() can return the following values:

"RH"/"read header"

The header of the record is being evaluated.

"RB"/"read body"

The body of the record is being evaluated.

"RD"/"read done"

The record has been completely processed.

"unknown"/"unknown"

The read state is unknown. This should never happen.

History

SSL_rstate_string() and SSL_rstate_string_long() first appeared in SSLeay 0.6.0 and have been available since OpenBSD 2.4.

From libressl 4.4.0-1 in Arch Linux 2026-11-01. Parsed by carta from the page's mdoc source.