1 /* Copyright (C) 2020 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz> 2 3 This program is free software: you can redistribute it and/or modify 4 it under the terms of the GNU General Public License as published by 5 the Free Software Foundation, either version 3 of the License, or 6 (at your option) any later version. 7 8 This program is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 GNU General Public License for more details. 12 13 You should have received a copy of the GNU General Public License 14 along with this program. If not, see <https://www.gnu.org/licenses/>. 15 */ 16 17 /*! 18 * \file 19 * 20 * \addtogroup crypto 21 * 22 * \brief Cryptographic backend initialization. 23 * 24 * For most cryptographic operations, the library requires global 25 * initialization. Also, if the application creates a subprocess, the 26 * library has to be reinitialized in the child process after \c fork(). 27 * 28 * @{ 29 */ 30 31 #pragma once 32 33 /*! 34 * Initialize cryptographic backend. 35 */ 36 void dnssec_crypto_init(void); 37 38 /*! 39 * Reinitialize cryptographic backend. 40 * 41 * Must be called after fork() by the child. 42 */ 43 void dnssec_crypto_reinit(void); 44 45 /*! 46 * Deinitialize cryptographic backend. 47 * 48 * Should be called when terminating the application. 49 */ 50 void dnssec_crypto_cleanup(void); 51 52 /*! @} */ 53