1*2175Sjp161948=pod 2*2175Sjp161948 3*2175Sjp161948=head1 NAME 4*2175Sjp161948 5*2175Sjp161948SSL_state_string, SSL_state_string_long - get textual description of state of an SSL object 6*2175Sjp161948 7*2175Sjp161948=head1 SYNOPSIS 8*2175Sjp161948 9*2175Sjp161948 #include <openssl/ssl.h> 10*2175Sjp161948 11*2175Sjp161948 const char *SSL_state_string(const SSL *ssl); 12*2175Sjp161948 const char *SSL_state_string_long(const SSL *ssl); 13*2175Sjp161948 14*2175Sjp161948=head1 DESCRIPTION 15*2175Sjp161948 16*2175Sjp161948SSL_state_string() returns a 6 letter string indicating the current state 17*2175Sjp161948of the SSL object B<ssl>. 18*2175Sjp161948 19*2175Sjp161948SSL_state_string_long() returns a string indicating the current state of 20*2175Sjp161948the SSL object B<ssl>. 21*2175Sjp161948 22*2175Sjp161948=head1 NOTES 23*2175Sjp161948 24*2175Sjp161948During its use, an SSL objects passes several states. The state is internally 25*2175Sjp161948maintained. Querying the state information is not very informative before 26*2175Sjp161948or when a connection has been established. It however can be of significant 27*2175Sjp161948interest during the handshake. 28*2175Sjp161948 29*2175Sjp161948When using non-blocking sockets, the function call performing the handshake 30*2175Sjp161948may return with SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE condition, 31*2175Sjp161948so that SSL_state_string[_long]() may be called. 32*2175Sjp161948 33*2175Sjp161948For both blocking or non-blocking sockets, the details state information 34*2175Sjp161948can be used within the info_callback function set with the 35*2175Sjp161948SSL_set_info_callback() call. 36*2175Sjp161948 37*2175Sjp161948=head1 RETURN VALUES 38*2175Sjp161948 39*2175Sjp161948Detailed description of possible states to be included later. 40*2175Sjp161948 41*2175Sjp161948=head1 SEE ALSO 42*2175Sjp161948 43*2175Sjp161948L<ssl(3)|ssl(3)>, L<SSL_CTX_set_info_callback(3)|SSL_CTX_set_info_callback(3)> 44*2175Sjp161948 45*2175Sjp161948=cut 46