/* SPDX-License-Identifier: LGPL-2.1+ */ #pragma once #include #include #include int acquire_random_bytes(void *p, size_t n, bool high_quality_required); void pseudorandom_bytes(void *p, size_t n); void random_bytes(void *p, size_t n); void initialize_srand(void); static inline uint64_t random_u64(void) { uint64_t u; random_bytes(&u, sizeof(u)); return u; } static inline uint32_t random_u32(void) { uint32_t u; random_bytes(&u, sizeof(u)); return u; } int rdrand64(uint64_t *ret);