]>
Commit | Line | Data |
---|---|---|
53e1b683 | 1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
3df3e884 RC |
2 | #pragma once |
3 | ||
4 | /*** | |
5 | This file is part of systemd. | |
6 | ||
7 | Copyright 2010 Lennart Poettering | |
8 | ||
9 | systemd is free software; you can redistribute it and/or modify it | |
10 | under the terms of the GNU Lesser General Public License as published by | |
11 | the Free Software Foundation; either version 2.1 of the License, or | |
12 | (at your option) any later version. | |
13 | ||
14 | systemd is distributed in the hope that it will be useful, but | |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
17 | Lesser General Public License for more details. | |
18 | ||
19 | You should have received a copy of the GNU Lesser General Public License | |
20 | along with systemd; If not, see <http://www.gnu.org/licenses/>. | |
21 | ***/ | |
22 | ||
f0d09059 | 23 | #include <stdbool.h> |
11c3a366 | 24 | #include <stddef.h> |
3df3e884 RC |
25 | #include <stdint.h> |
26 | ||
f0d09059 | 27 | int acquire_random_bytes(void *p, size_t n, bool high_quality_required); |
6a06b1a5 | 28 | void pseudorandom_bytes(void *p, size_t n); |
3df3e884 RC |
29 | void random_bytes(void *p, size_t n); |
30 | void initialize_srand(void); | |
31 | ||
32 | static inline uint64_t random_u64(void) { | |
33 | uint64_t u; | |
34 | random_bytes(&u, sizeof(u)); | |
35 | return u; | |
36 | } | |
37 | ||
38 | static inline uint32_t random_u32(void) { | |
39 | uint32_t u; | |
40 | random_bytes(&u, sizeof(u)); | |
41 | return u; | |
42 | } |