SSL_SHUTDOWN(3ssl) OpenSSL SSL_SHUTDOWN(3ssl) SSL_shutdown, SSL_shutdown_ex - TLS/SSL QUIC #include int SSL_shutdown(SSL *ssl); typedef struct ssl_shutdown_ex_args_st { uint64_t quic_error_code; const char *quic_reason; } SSL_SHUTDOWN_EX_ARGS; __owur int SSL_shutdown_ex(SSL *ssl, uint64_t flags, const SSL_SHUTDOWN_EX_ARGS *args, size_t args_len); SSL_shutdown() SSL. ssl NULL. SSL_shutdown_ex() SSL_shutdown(). NULL args SSL_SHUTDOWN_EX_ARGS args_len sizeof(SSL_SHUTDOWN_EX_ARGS). SSL_SHUTDOWN_EX_ARGS . args NULL SSL_SHUTDOWN_EX_ARGS . QUIC SSL_shutdown() QUIC. SSL_shutdown() . . SSL_shutdown() 0 . SSL_shutdown() 1. . SSL_shutdown() SSL_get_error(3) SSL_ERROR_SYSCALL SSL_ERROR_SSL. TLS DTLS SSL/TLS DTLS close_notify SSL/TLS/DTLS. SSL/TLS DTLS : o close_notify . o close_notify . . SSL_shutdown() SSL/TLS DTLS SSL OpenSSL close_notify . close_notify. SSL_shutdown() . SSL_shutdown() SSL_write(3) SSL_read(3) . . SSL_shutdown() TCP . close_notify (EOF) SSL_read(3) ( SSL_read(3) SSL_get_error(3) SSL_ERROR_ZERO_RETURN) . SSL_shutdown() close_notify SSL_write(3) . SSL_shutdown() close_notify . BIO SSL_shutdown() close_notify ( 0) ( 1 ). SSL_shutdown() BIO . BIO ( close_notify close_notify ) SSL_shutdown() 0 SSL_get_error(3) SSL_ERROR_WANT_READ SSL_ERROR_WANT_WRITE. SSL_shutdown() 1 ( close_notify). SSL_read(3) SSL_get_error(3) EOF SSL_ERROR_ZERO_RETURN. close_notify . ( ). SSL_shutdown() ( close_notify ) SSL_read(3). SSL_shutdown() SSL_SENT_SHUTDOWN close_notify . SSL_RECEIVED_SHUTDOWN close_notify SSL_read(3) SSL_shutdown(). SSL_get_shutdown(3). SSL_shutdown() ( 0) . . " " . SSL_shutdown() close_notify SSL_shutdown() 1 . SSL_shutdown() SSL_free(3) SSL_clear(3) SSL_shutdown() SSL . ( TCP) . SSL_shutdown() SSL_SENT_SHUTDOWN ( SSL_set_shutdown(3)) close_notify . SSL SSL . SSL_shutdown() "" close_notify SSL_CTX_set_quiet_shutdown(3). " " SSL_shutdown() 1 . . close_notify . SSL/TLS close_notify ( TCP) . . SSL_OP_IGNORE_UNEXPECTED_EOF. SSL_CTX_set_options(3). (EOF) . . SSL_read(3) . . SSL/TLS DTLS OpenSSL SSL/TLS . OpenSSL SSL_read(3). SSL_shutdown() 1 . SSL/TLS OpenSSL. QUIC SSL QUIC SSL_shutdown() QUIC CONNECTION_CLOSE QUIC. SSL_shutdown() SSL QUIC. SSL_stream_conclude(3) SSL_stream_reset(3). SSL_shutdown_ex() SSL_shutdown() . : quic_error_code 62 . [0, 2**62-1] SSL_shutdown_ex(). 0 . quic_reason (UTF-8) . UTF-8 OpenSSL . SSL_shutdown() . SSL QUIC SSL_shutdown_ex(). MTU QUIC. . SSL_shutdown_ex() SSL_shutdown_ex() ( SSL_shutdown()) SSL QUIC. . BIO UDP QUIC BIO . QUIC SSL_shutdown() . TLS/TCP . SSL_free() SSL QUIC SSL_shutdown() SSL_write() . QUIC SSL_shutdown() . . SSL_shutdown() SSL_handle_events() . openssl-quic(7) SSL_handle_events(3) . QUIC SSL_shutdown() SSL_shutdown_ex() . . . SSL_shutdown() . SSL_SHUTDOWN_FLAG_NO_STREAM_FLUSH SSL_shutdown_ex() . SSL_write(3) . QUIC . QUIC . . QUIC RFC . . SSL QUIC: RFC . (RTT) . . . SSL_shutdown_ex() 1 . QUIC . QUIC ( ). 0 ( 1). SSL_SHUTDOWN_FLAG_RAPID flags RFC. SSL_shutdown_ex() SSL_SHUTDOWN_FLAG_RAPID SSL_shutdown_ex() . . SSL_shutdown_ex() SSL_SHUTDOWN_FLAG_WAIT_PEER flags. . . . SSL_SHUTDOWN_FLAG_WAIT_PEER SSL_SHUTDOWN_FLAG_NO_STREAM_FLUSH . . SSL_shutdown() SSL_shutdown_ex() . SSL_SHUTDOWN_FLAG_NO_BLOCK flags SSL_shutdown_ex() . SSL_shutdown() SSL_shutdown_ex() : 0 . TLS DTLS close_notify close_notify . SSL QUIC CONNECTION_CLOSE . 0 . SSL_get_error(3) . 1 . TLS DTLS close_notify close_notify . SSL QUIC . <0 . SSL_get_error(3) ret . BIOs . SSL_read() SSL QUIC. SSL QUIC. SSL_get_error(3), SSL_connect(3), SSL_accept(3), SSL_set_shutdown(3), SSL_CTX_set_quiet_shutdown(3), SSL_CTX_set_options(3) SSL_clear(3), SSL_free(3), ssl(7), bio(7) SSL_shutdown_ex() OpenSSL 3.2. 2000-2023 OpenSSL. . Apache 2.0 ( ""). . LICENSE . 3 . . : . 3.6.2 7 2026 SSL_SHUTDOWN(3ssl)