SSL_want(3)SSL_want(3)NAME
SSL_want, SSL_want_nothing, SSL_want_read, SSL_want_write,
SSL_want_x509_lookup - Obtain state information TLS/SSL I/O operation
SYNOPSIS
#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 );
DESCRIPTION
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().
NOTES
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 nor‐
mal 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 consis‐
tent with the result of the SSL_get_error() function.
RETURN VALUES
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 condi‐
tion is true or 0 otherwise.
SEE ALSO
Functions: ssl(3), err(3), SSL_get_error(3)SSL_want(3)