SSL_WANT - Online Linux Manual PageSection : 3
Updated : 2021-03-26
Source : 1.1.1k
Note : OpenSSL

NAMESSL_want, SSL_want_nothing, SSL_want_read, SSL_want_write, SSL_want_x509_lookup, SSL_want_async, SSL_want_async_job, SSL_want_client_hello_cb − obtain state information TLS/SSL I/O operation

SYNOPSIS​ #include <openssl/ssl.h> ​ ​ int SSL_want(const SSL *ssl); ​ int SSL_want_nothing(const SSL *ssl); ​ int SSL_want_read(const SSL *ssl); ​ int SSL_want_write(const SSL *ssl); ​ int SSL_want_x509_lookup(const SSL *ssl); ​ int SSL_want_async(const SSL *ssl); ​ int SSL_want_async_job(const SSL *ssl); ​ int SSL_want_client_hello_cb(const SSL *ssl);

DESCRIPTIONSSL_want() returns state information for the SSL object ssl. The other SSL_want_*() calls are shortcuts for the possible states returned by SSL_want().

NOTESSSL_want() examines the internal state information of the SSL object. Its return values are similar to that of SSL_get_error(3). Unlike SSL_get_error(3), which also evaluates the error queue, the results are obtained by examining an internal state flag only. The information must therefore only be used for normal operation under nonblocking I/O. Error conditions are not handled and must be treated using SSL_get_error(3). The result returned by SSL_want() should always be consistent with the result of SSL_get_error(3).

RETURN VALUESThe following return values can currently occur for SSL_want(): SSL_NOTHING There is no data to be written or to be read. SSL_WRITING 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(3) should return ​SSL_ERROR_WANT_WRITE. SSL_READING More data must be read from the underlying BIO layer in order to complete the actual SSL_*() operation. A call to SSL_get_error(3) should return ​SSL_ERROR_WANT_READ. SSL_X509_LOOKUP 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(3) should return ​SSL_ERROR_WANT_X509_LOOKUP. SSL_ASYNC_PAUSED An asynchronous operation partially completed and was then paused. See ​SSL_get_all_async_fds(3). A call to SSL_get_error(3) should return ​SSL_ERROR_WANT_ASYNC. SSL_ASYNC_NO_JOBS The asynchronous job could not be started because there were no async jobs available in the pool (see ASYNC_init_thread(3)). A call to SSL_get_error(3) should return SSL_ERROR_WANT_ASYNC_JOB. SSL_CLIENT_HELLO_CB The operation did not complete because an application callback set by ​SSL_CTX_set_client_hello_cb() has asked to be called again. A call to SSL_get_error(3) should return ​SSL_ERROR_WANT_CLIENT_HELLO_CB. SSL_want_nothing(), SSL_want_read(), SSL_want_write(), SSL_want_x509_lookup(), ​SSL_want_async(), SSL_want_async_job(), and SSL_want_client_hello_cb() return 1, when the corresponding condition is true or 0 otherwise.

SEE ALSOssl(7), SSL_get_error(3)

HISTORYThe SSL_want_client_hello_cb() function and the SSL_CLIENT_HELLO_CB return value were added in OpenSSL 1.1.1.

COPYRIGHTCopyright 2001−2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the License). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.
0
Johanes Gumabo
Data Size   :   13,578 byte
man-SSL_want_x509_lookup.3sslBuild   :   2024-12-29, 07:25   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   2 / 259,165
Visitor ID   :     :  
Visitor IP   :   3.135.205.24   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.29
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.

ERROR : Need New Coding :         (parse_manual_page_|252|S___SL_want.3ssl|36/37|el══─{─══.|.el══─{─══. ds -- \|\(em\| )         (htmlprn|149|S___SL_want.3ssl|36/37|.el══─{─══. ds --  —  |.el══─{─══. ds -- \|\(em\| )         (parse_manual_page_|252|S___SL_want.3ssl|43|br══─}─══|'br══─}─══ )         (htmlprn|149|S___SL_want.3ssl|43|'br══─}─══ |'br══─}─══ )