summary refs log tree commit diff stats
path: root/contrib/plugins/focaccia.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/plugins/focaccia.c')
-rw-r--r--contrib/plugins/focaccia.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/contrib/plugins/focaccia.c b/contrib/plugins/focaccia.c
new file mode 100644
index 0000000000..c638647d95
--- /dev/null
+++ b/contrib/plugins/focaccia.c
@@ -0,0 +1,29 @@
+#include <qemu-plugin.h>
+
+static void plugin_init(void) {
+}
+
+static void plugin_exit(qemu_plugin_id_t id, void* p) {
+    printf("Plugin has completed!\n");
+}
+
+// argc and argv correspond to the arguments passed via -plugin focaccia.so,arg1=<arg1>,arg2=<arg2>
+QEMU_PLUGIN_EXPORT 
+int qemu_plugin_install(qemu_plugin_id_t id,
+                        const qemu_info_t *info,
+                        int argc, char **argv)
+{
+    int i;
+
+    // Process plugin arguments
+    printf("Received plugin options:\n");
+    for (i = 0; i < argc; i++) {
+        printf("%s\n", argv[i]);
+    }
+
+    plugin_init();
+
+    qemu_plugin_register_atexit_cb(id, plugin_exit, NULL);
+    return 0;
+}
+