=pod

=head1 NAME

SSL_session_reused - query whether a reused session was negotiated during handshake

=head1 SYNOPSIS

 #include <openssl/ssl.h>

 int SSL_session_reused(SSL *ssl);

=head1 DESCRIPTION

Query, whether a reused session was negotiated during the handshake.

=head1 NOTES

During the negotiation, a client can propose to reuse a session. The server
then looks up the session in its cache. If both client and server agree
on the session, it will be reused and a flag is being set that can be
queried by the application.

=head1 RETURN VALUES

The following return values can occur:

=over 4

=item C<0>

A new session was negotiated.

=item C<1>

A session was reused.

=back

=head1 SEE ALSO

L<ssl(3)|ssl(3)>, L<SSL_set_session(3)|SSL_set_session(3)>,
L<SSL_CTX_set_session_cache_mode(3)|SSL_CTX_set_session_cache_mode(3)>

=cut
