summary refs log tree commit diff stats
path: root/qga/service-win32.h
diff options
context:
space:
mode:
authorMichael Roth <mdroth@linux.vnet.ibm.com>2012-01-21 16:42:27 -0600
committerMichael Roth <mdroth@linux.vnet.ibm.com>2012-02-23 15:43:50 -0600
commitbc62fa039c402740dbae3233618c982f5943f6b1 (patch)
tree88836edf2d9669a4efaafd22c3c8280fca8175fb /qga/service-win32.h
parent7868e26e5930f49ca942311885776b938dcf3b77 (diff)
downloadfocaccia-qemu-bc62fa039c402740dbae3233618c982f5943f6b1.tar.gz
focaccia-qemu-bc62fa039c402740dbae3233618c982f5943f6b1.zip
qemu-ga: add Windows service integration
This allows qemu-ga to function as a Windows service:

 - to install the service (will auto-start on boot):
     qemu-ga --service install
 - to start the service:
     net start qemu-ga
 - to stop the service:
     net stop qemu-ga
 - to uninstall service:
     qemu-ga --service uninstall

Original patch by Gal Hammer <ghammer@redhat.com>
Diffstat (limited to 'qga/service-win32.h')
-rw-r--r--qga/service-win32.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/qga/service-win32.h b/qga/service-win32.h
new file mode 100644
index 0000000000..99dfc53348
--- /dev/null
+++ b/qga/service-win32.h
@@ -0,0 +1,30 @@
+/*
+ * QEMU Guest Agent helpers for win32 service management
+ *
+ * Copyright IBM Corp. 2012
+ *
+ * Authors:
+ *  Gal Hammer        <ghammer@redhat.com>
+ *  Michael Roth      <mdroth@linux.vnet.ibm.com>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+#ifndef QGA_SERVICE_H
+#define QGA_SERVICE_H
+
+#include <windows.h>
+
+#define QGA_SERVICE_DISPLAY_NAME "QEMU Guest Agent"
+#define QGA_SERVICE_NAME         "qemu-ga"
+#define QGA_SERVICE_DESCRIPTION  "Enables integration with QEMU machine emulator and virtualizer."
+
+typedef struct GAService {
+    SERVICE_STATUS status;
+    SERVICE_STATUS_HANDLE status_handle;
+} GAService;
+
+int ga_install_service(const char *path, const char *logfile);
+int ga_uninstall_service(void);
+
+#endif