24#define WIN32_NO_STATUS
29#elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
30#include <sys/random.h>
31#elif defined(__OpenBSD__)
34#error "Couldn't identify the OS"
51#elif defined(__linux__) || defined(__FreeBSD__)
54 if (
res < 0 || (
size_t)
res != size ) {
59#elif defined(__APPLE__) || defined(__OpenBSD__)
72static void print_hex(
unsigned char* data,
size_t size) {
75 for (i = 0; i < size; i++) {
76 printf(
"%02x", data[i]);
90#elif defined(__GNUC__)
static int fill_random(unsigned char *data, size_t size)
static void secure_erase(void *ptr, size_t len)
static void print_hex(unsigned char *data, size_t size)
constexpr auto Ticks(Dur2 d)
Helper to count the seconds of a duration/time_point.