diff options
Diffstat (limited to 'slstatus/components/entropy.c')
-rw-r--r-- | slstatus/components/entropy.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/slstatus/components/entropy.c b/slstatus/components/entropy.c new file mode 100644 index 0000000..2a485de --- /dev/null +++ b/slstatus/components/entropy.c @@ -0,0 +1,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__) | defined(__FreeBSD__) + const char * + entropy(void) + { + /* Unicode Character 'INFINITY' (U+221E) */ + return "\xe2\x88\x9e"; + } +#endif |