=pod

=head1 NAME

SSL_get_version - get the protocol version of a connection.

=head1 SYNOPSIS

 #include <openssl/ssl.h>

 const char *SSL_get_version(const SSL *ssl);

=head1 DESCRIPTION

SSL_get_cipher_version() returns the name of the protocol used for the
connection B<ssl>.

=head1 RETURN VALUES

The following strings can occur:

=over 4

=item SSLv2

The connection uses the SSLv2 protocol.

=item SSLv3

The connection uses the SSLv3 protocol.

=item TLSv1

The connection uses the TLSv1 protocol.

=item unknown

This indicates that no version has been set (no connection established).

=back

=head1 SEE ALSO

L<ssl(3)|ssl(3)>

=cut
