+gboolean set_uname_properties() {
+
+ struct utsname un;
+
+ if(-1 == uname(&un))
+ return FALSE;
+
+ KERN_NAME = (gchar*)g_malloc0(sizeof(un.sysname));
+ g_ptr_array_add(hostnamed_freeable, KERN_NAME);
+ g_strlcpy(KERN_NAME, un.sysname, sizeof(un.sysname));
+
+ KERN_RELEASE = (gchar*)g_malloc0(sizeof(un.release));
+ g_ptr_array_add(hostnamed_freeable, KERN_RELEASE);
+ g_strlcpy(KERN_RELEASE, un.release, sizeof(un.release));
+
+ KERN_VERS = (gchar*)g_malloc0(sizeof(un.version));
+ g_ptr_array_add(hostnamed_freeable, KERN_VERS);
+ g_strlcpy(KERN_VERS, un.version, sizeof(un.version));
+
+ return TRUE;
+}
+