summary refs log tree commit diff stats
path: root/contrib/plugins/focaccia.c
diff options
context:
space:
mode:
authorTheofilos Augoustis <theofilos.augoustis@gmail.com>2025-10-08 16:01:20 +0200
committerTheofilos Augoustis <theofilos.augoustis@gmail.com>2025-10-08 16:01:20 +0200
commitc797173d37d64b92d5cfa225dcb63d9c69bd31da (patch)
tree2e89275849e2beca8ddcf15ecccd322cc9d60a72 /contrib/plugins/focaccia.c
parent0adf626718bc0ca9c46550249a76047f8e45da15 (diff)
downloadfocaccia-qemu-c797173d37d64b92d5cfa225dcb63d9c69bd31da.tar.gz
focaccia-qemu-c797173d37d64b92d5cfa225dcb63d9c69bd31da.zip
Add basic Focaccia stub
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;
+}
+