SSL_want, SSL_want_nothing, SSL_want_read, SSL_want_write,
SSL_want_x509_lookup - Obtain state information TLS/SSL
I/O operation
#include <openssl/ssl.h>
int SSL_want(
SSL *ssl ); int SSL_want_nothing(
SSL *ssl ); int SSL_want_read(
SSL *ssl ); int SSL_want_write(
SSL *ssl ); int SSL_want_x509_lookup(
SSL *ssl );
The SSL_want() function returns state information for the
SSL object ssl.
The other SSL_want_*() functions are shortcuts for the
possible states returned by SSL_want().
The SSL_want() function examines the internal state information
of the SSL object. Its return values are similar to
that of the SSL_get_error() function. Unlike
SSL_get_error(), which also evaluates the error queue, the
results are obtained by examining an internal state flag
only. Therefore, the information must only be used for
normal operation under non-blocking I/O. Error conditions
are not handled and must be treated using SSL_get_error().
The result returned by the SSL_want() function should
always be consistent with the result of the
SSL_get_error() function.
The following return values can occur for SSL_want():
There is no data to be written or to be read. There are
data in the SSL buffer that must be written to the underlying
BIO layer in order to complete the actual SSL_*()
operation. A call to SSL_get_error() should return
SSL_ERROR_WANT_WRITE. More data must be read from the
underlying BIO layer in order to complete the actual
SSL_*() operation. A call to SSL_get_error() should
return SSL_ERROR_WANT_READ. The operation did not complete
because an application callback set by
SSL_CTX_set_client_cert_cb() has asked to be called again.
A call to SSL_get_error() should return
SSL_ERROR_WANT_X509_LOOKUP.
The SSL_want_nothing(), SSL_want_read(), SSL_want_write(),
and SSL_want_x509_lookup() functions return 1 when the
corresponding condition is true or 0 otherwise.
Functions: ssl(3), err(3), SSL_get_error(3)
SSL_want(3)
[ Back ] |