xref: /netbsd-src/external/mpl/dhcp/bind/dist/lib/isc/entropy_private.h (revision 4afad4b7fa6d4a0d3dedf41d1587a7250710ae54)
1 /*	$NetBSD: entropy_private.h,v 1.1 2024/02/18 20:57:48 christos Exp $	*/
2 
3 /*
4  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
5  *
6  * SPDX-License-Identifier: MPL-2.0
7  *
8  * This Source Code Form is subject to the terms of the Mozilla Public
9  * License, v. 2.0. If a copy of the MPL was not distributed with this
10  * file, you can obtain one at https://mozilla.org/MPL/2.0/.
11  *
12  * See the COPYRIGHT file distributed with this work for additional
13  * information regarding copyright ownership.
14  */
15 
16 #pragma once
17 
18 #include <stdlib.h>
19 
20 #include <isc/lang.h>
21 
22 /*! \file isc/entropy_private.h
23  * \brief Implements wrapper around CSPRNG cryptographic library calls
24  * for getting cryptographically secure pseudo-random numbers.
25  *
26  * - If OpenSSL is used, it uses RAND_bytes()
27  * - If PKCS#11 is used, it uses pkcs_C_GenerateRandom()
28  *
29  */
30 
31 ISC_LANG_BEGINDECLS
32 
33 void
34 isc_entropy_get(void *buf, size_t buflen);
35 /*!<
36  * \brief Get cryptographically-secure pseudo-random data.
37  */
38 
39 ISC_LANG_ENDDECLS
40