const char *SSL_state_string(const SSL *ssl); const char *SSL_state_string_long(const SSL *ssl);
SSL_state_string() returns a 6 letter string indicating the current state of the SSL object ssl.
SSL_state_string_long() returns a string indicating the current state of the SSL object ssl.
During its use, an SSL objects passes several states. The state is internally maintained. Querying the state information is not very informative before or when a connection has been established. It however can be of significant interest during the handshake.
When using non-blocking sockets, the function call performing the handshake may return with SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE condition, so that SSL_state_string[_long]() may be called.
For both blocking or non-blocking sockets, the details state information can be used within the info_callback function set with the SSL_set_info_callback() call.