aboutsummaryrefslogtreecommitdiff
path: root/components/entropy.c
blob: 66b2e5a95e39d751151d12d94ff62307c808acf9 (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
28
/* See LICENSE file for copyright and license details. */
#include "../slstatus.h"
#if defined(__linux__)
	#include <stdint.h>
	#include <stdio.h>

	#include "../util.h"

	#define ENTROPY_AVAIL "/proc/sys/kernel/random/entropy_avail"

	const char *
	entropy(const char *unused)
	{
		uintmax_t num;

		if (pscanf(ENTROPY_AVAIL, "%ju", &num) != 1)
			return NULL;

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