diff options
Diffstat (limited to 'lib/rand.c')
-rw-r--r-- | lib/rand.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/rand.c b/lib/rand.c new file mode 100644 index 0000000..76f537d --- /dev/null +++ b/lib/rand.c @@ -0,0 +1,20 @@ + +#include <assert.h> +#include <stdio.h> + +unsigned long int rand_seed() { + /* + returns a random unsigned long integer read from the standard unix + pseudorandom device /dev/urandom + */ + + FILE *f = fopen("/dev/urandom", "r"); + assert(f != NULL); + + unsigned long int seed; + fread(&seed, sizeof(unsigned long int), 1, f); + + fclose(f); + + return seed; +} |