123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- =pod
- =head1 NAME
- OPENSSL_init_ssl - OpenSSL (libssl and libcrypto) initialisation
- =head1 SYNOPSIS
- #include <openssl/ssl.h>
- int OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
- =head1 DESCRIPTION
- During normal operation OpenSSL (libssl and libcrypto) will allocate various
- resources at start up that must, subsequently, be freed on close down of the
- library. Additionally some resources are allocated on a per thread basis (if the
- application is multi-threaded), and these resources must be freed prior to the
- thread closing.
- As of version 1.1.0 OpenSSL will automatically allocate all resources that it
- needs so no explicit initialisation is required. Similarly it will also
- automatically deinitialise as required.
- However, there may be situations when explicit initialisation is desirable or
- needed, for example when some nondefault initialisation is required. The
- function OPENSSL_init_ssl() can be used for this purpose. Calling
- this function will explicitly initialise BOTH libcrypto and libssl. To
- explicitly initialise ONLY libcrypto see the
- L<OPENSSL_init_crypto(3)> function.
- Numerous internal OpenSSL functions call OPENSSL_init_ssl().
- Therefore, in order to perform nondefault initialisation,
- OPENSSL_init_ssl() MUST be called by application code prior to
- any other OpenSSL function calls.
- The B<opts> parameter specifies which aspects of libssl and libcrypto should be
- initialised. Valid options for libcrypto are described on the
- L<OPENSSL_init_crypto(3)> page. In addition to any libcrypto
- specific option the following libssl options can also be used:
- =over 4
- =item OPENSSL_INIT_NO_LOAD_SSL_STRINGS
- Suppress automatic loading of the libssl error strings. This option is
- not a default option. Once selected subsequent calls to
- OPENSSL_init_ssl() with the option
- B<OPENSSL_INIT_LOAD_SSL_STRINGS> will be ignored.
- =item OPENSSL_INIT_LOAD_SSL_STRINGS
- Automatic loading of the libssl error strings. This option is a
- default option. Once selected subsequent calls to
- OPENSSL_init_ssl() with the option
- B<OPENSSL_INIT_LOAD_SSL_STRINGS> will be ignored.
- =back
- OPENSSL_init_ssl() takes a B<settings> parameter which can be used to
- set parameter values. See L<OPENSSL_init_crypto(3)> for details.
- =head1 RETURN VALUES
- The function OPENSSL_init_ssl() returns 1 on success or 0 on error.
- =head1 SEE ALSO
- L<OPENSSL_init_crypto(3)>
- =head1 HISTORY
- The OPENSSL_init_ssl() function was added in OpenSSL 1.1.0.
- =head1 COPYRIGHT
- Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
- Licensed under the Apache License 2.0 (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
|