=pod

=head1 NAME

SSL_library_init, OpenSSL_add_ssl_algorithms,
- initialize SSL library by registering algorithms

=head1 SYNOPSIS

 #include <openssl/ssl.h>

 int SSL_library_init(void);
 #define OpenSSL_add_ssl_algorithms()    SSL_library_init()

=head1 DESCRIPTION

SSL_library_init() registers the available SSL/TLS ciphers and digests.

OpenSSL_add_ssl_algorithms() is a synonym for SSL_library_init().

=head1 NOTES

SSL_library_init() must be called before any other action takes place.
SSL_library_init() is not reentrant. 

=head1 WARNING

SSL_library_init() adds ciphers and digests used directly and indirectly by
SSL/TLS.

=head1 RETURN VALUES

SSL_library_init() always returns "1", so it is safe to discard the return
value.

=head1 SEE ALSO

L<ssl(3)>,
L<RAND_add(3)>

=head1 HISTORY

The SSL_library_init() and OpenSSL_add_ssl_algorithms() functions were
deprecated in OpenSSL 1.1.0 by OPENSSL_init_ssl().

=cut
