1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-23 23:08:14 +00:00
trezor-firmware/embed/unix/rng.c
2017-12-15 16:56:08 +01:00

18 lines
374 B
C

#include <stdio.h>
#include <stdlib.h>
#include "common.h"
#include "rng.h"
uint32_t rng_get(void)
{
static FILE *frand = NULL;
if (!frand) {
frand = fopen("/dev/urandom", "r");
}
ensure(sectrue * (frand != NULL), "fopen failed");
uint32_t r;
ensure(sectrue * (sizeof(r) == fread(&r, 1, sizeof(r), frand)), "fread failed");
return r;
}