=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);

 int OpenSSL_add_ssl_algorithms(void);

=head1 DESCRIPTION

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

OpenSSL_add_ssl_algorithms() is a synonym for SSL_library_init() and is
implemented as a macro.

=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(7)>,
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().

=head1 COPYRIGHT

Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the OpenSSL license (the "License").  You may not use
this file except in compliance with the License.  You can obtain a copy
in the file LICENSE in the source distribution or at
L<https://www.openssl.org/source/license.html>.

=cut
