+GMainLoop *hostnamed_loop;
+
+guint bus_descriptor;
+gboolean dbus_interface_exported; /* reliable because of gdbus operational guarantees */
+
+gchar *HOSTNAME, *STATIC_HOSTNAME, *PRETTY_HOSTNAME;
+gchar *CHASSIS, *ICON;
+gchar *KERN_NAME, *KERN_RELEASE, *KERN_VERS, *OS_CPENAME;
+
+/* TODO no specific vm or laptop icon in gnome
+ * NOTE paravirtualization on xen is only available for linuxes right now
+ * dmesg on linux systems reveals xen and virtualization method (HVM or PVM)
+ * but we will worry about those later */
+
+/* add any sysctl strings that suggest virtualization here */
+const struct SYSCTL_LOOKUP_TABLE chassis_indicator_table[] =
+{
+ { "QEMU Virtual CPU", "vm", NULL, FALSE, FALSE }, /* could be QEMU running in userspace or as part of KVM */
+ { "KVM", "vm", "drive-multidisk", FALSE, FALSE },
+ { "SmartDC HVM", "vm", "drive-multidisk", TRUE, TRUE }, /* illumos-joyent kvm */
+ { "VirtualBox", "vm", "drive-multidisk", TRUE, TRUE },
+ { "VMware, Inc.", "vm", "drive-multidisk", TRUE, TRUE },
+ { "VMware Virtual Platform", "vm", "drive-multidisk", TRUE, TRUE },
+ { "Parallels", "vm", "drive-multidisk", TRUE, TRUE }, /* need verification */
+ { "Xen", "vm", "drive-multidisk", FALSE, FALSE }
+}; /* TODO: chroots, etc. are the actual "containers", add them */
+
+/* archs to check against when determining if machine is server */
+const gchar *server_archs[] = {
+ "hppa",
+ "sparc",
+ "sparc64"
+};
+
+/* --- begin method/property/dbus signal code --- */
+
+/* TODO the extra boolean passed to these funcs is for policykit auth */
+/* TODO complete call with error, message, etc */