+Hostname1 *hostnamed_interf;
+
+GMainLoop *hostnamed_loop;
+
+guint bus_descriptor;
+gboolean dbus_interface_exported; /* reliable because of gdbus operational guarantees */
+
+gchar *CHASSIS, *ICON;
+gchar *OS_CPENAME;
+gchar *KERN_NAME, *KERN_RELEASE, *KERN_VERS;
+
+/* 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 */
+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 }, /* oracle solaris 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", TRUE, TRUE }
+}; /* 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 --- */
+
+static gboolean
+on_handle_set_hostname(Hostname1 *hn1_passed_interf,
+ GDBusMethodInvocation *invoc,
+ const gchar *greet,
+ gpointer data) {
+ return FALSE;
+}
+
+static gboolean
+on_handle_set_static_hostname(Hostname1 *hn1_passed_interf,
+ GDBusMethodInvocation *invoc,
+ const gchar *greet,
+ gpointer data) {
+ return FALSE;
+}
+
+static gboolean
+on_handle_set_pretty_hostname(Hostname1 *hn1_passed_interf,
+ GDBusMethodInvocation *invoc,
+ const gchar *greet,
+ gpointer data) {
+ return FALSE;
+}
+
+static gboolean
+on_handle_set_chassis(Hostname1 *hn1_passed_interf,
+ GDBusMethodInvocation *invoc,
+ const gchar *greet,
+ gpointer data) {
+ return FALSE;
+}