SSL_READ(3ssl) OpenSSL SSL_READ(3ssl) SSL_read_ex, SSL_read, SSL_peek_ex, SSL_peek - TLS/SSL #include int SSL_read_ex(SSL *ssl, void *buf, size_t num, size_t *readbytes); int SSL_read(SSL *ssl, void *buf, int num); int SSL_peek_ex(SSL *ssl, void *buf, size_t num, size_t *readbytes); int SSL_peek(SSL *ssl, void *buf, int num); SSL_read_ex() SSL_read() num ssl buf. SSL_read_ex() *readbytes. SSL_peek_ex() SSL_peek() SSL_read_ex() SSL_read() BIO SSL_read_ex() SSL_read() . " " SSL_read_ex() SSL_read() SSL_peek_ex() SSL_peek(). TLS/SSL SSL_connect(3) SSL_accept(3). . BIO . ssl . SSL_set_connect_state(3) SSL_set_accept_state() . SSL/TLS. ( 16 ). ( ). SSL . num . . . . SSL/TLS ( TCP) . SSL_MODE_AUTO_RETRY SSL_ERROR_WANT_READ. BIO. SSL_CTX_set_read_ahead(3) SSL. SSL_CTX_set_mode(3). BIO blocking SSL_MODE_AUTO_RETRY. SSL_MODE_AUTO_RETRY . BIO nonblocking BIO . SSL_get_error(3) SSL_ERROR_WANT_READ SSL_ERROR_WANT_WRITE. . . BIO . select() . BIO BIO BIO . SSL_pending(3) . . QUIC SSL / SSL_read() . . / SSL_read() SSL_handle_events() . openssl-quic(7) SSL_handle_events(3) . SSL_read_ex() SSL_peek_ex() 1 0 . SSL. SSL. ( ) ( ). SSL_get_error(3) . SSL_read() SSL_peek() : > 0 . TLS/SSL. <= 0 . SSL_get_error(3) ret . 0 -1 -1 . SSL_get_error() . SSL_get_error(3), SSL_write_ex(3), SSL_CTX_set_mode(3), SSL_CTX_new(3), SSL_connect(3), SSL_accept(3) SSL_set_connect_state(3), SSL_pending(3), SSL_shutdown(3), SSL_set_shutdown(3), ssl(7), bio(7) SSL_read_ex() SSL_peek_ex() OpenSSL 1.1.1. 2000-2023 OpenSSL. . Apache 2.0 ( ""). . LICENSE . 3 . . : . 3.6.2 7 2026 SSL_READ(3ssl)