summaryrefslogtreecommitdiff
path: root/components/entropy.c
blob: caa698e84df4cdd4f33923c083f8f0d0f5db4395 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* See LICENSE file for copyright and license details. */
#if defined(__linux__)
	#include <stdint.h>
	#include <stdio.h>

	#include "../util.h"

	const char *
	entropy(void)
	{
		uintmax_t num;

		if (pscanf("/proc/sys/kernel/random/entropy_avail",
		           "%ju", &num) != 1) {
			return NULL;
		}

		return bprintf("%ju", num);
	}
#elif defined(__OpenBSD__)
	const char *
	entropy(void)
	{
		/* Unicode Character 'INFINITY' (U+221E) */
		return "\xe2\x88\x9e";
	}
#endif