aboutsummaryrefslogtreecommitdiff
path: root/modules/computer/os.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/computer/os.c')
-rw-r--r--modules/computer/os.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/modules/computer/os.c b/modules/computer/os.c
index 41f8cb3a..3caf6c26 100644
--- a/modules/computer/os.c
+++ b/modules/computer/os.c
@@ -141,6 +141,17 @@ detect_desktop_environment(OperatingSystem * os)
}
}
+gchar *
+computer_get_entropy_avail(void)
+{
+ gint bits = h_sysfs_read_int("/proc/sys/kernel/random", "entropy_avail");
+ if (bits < 200)
+ return g_strdup_printf("%d bits (low)", bits);
+ if (bits < 3000)
+ return g_strdup_printf("%d bits (medium)", bits);
+ return g_strdup_printf("%d bits (healthy)", bits);
+}
+
OperatingSystem *
computer_get_os(void)
{
@@ -241,5 +252,7 @@ computer_get_os(void)
scan_languages(os);
detect_desktop_environment(os);
+ os->entropy_avail = computer_get_entropy_avail();
+
return os;
}