=pod

=head1 NAME

OPENSSL_VERSION_NUMBER, SSLeay - get OpenSSL version number

=head1 SYNOPSIS

 #include <openssl/opensslv.h>
 #define OPENSSL_VERSION_NUMBER 0xnnnnnnnnnL

 #include <openssl/crypto.h>
 long SSLeay(void);

=head1 DESCRIPTION

OPENSSL_VERSION_NUMBER is a numeric release version identifier:

 MMNNFFRBB major minor fix final beta/patch

for example

 0x000904100 == 0.9.4 release
 0x000905000 == 0.9.5 dev

Versions prior to 0.9.3 have identifiers E<lt> 0x0930.
For backward compatibility, SSLEAY_VERSION_NUMBER is also defined.

SSLeay() returns this number. The return value can be compared to the
macro to make sure that the correct version of the library has been
loaded, especially when using DLLs on Windows systems.

=head1 RETURN VALUE

The version number.

=head1 SEE ALSO

L<crypto(3)|crypto(3)>

=head1 HISTORY

SSLeay() and SSLEAY_VERSION_NUMBER are available in all versions of SSLeay and OpenSSL.
OPENSSL_VERSION_NUMBER is available in all versions of OpenSSL.

=cut
