aboutsummaryrefslogtreecommitdiff
path: root/src/harness_adapter.c
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2024-02-11 17:47:02 -0700
committerJosh Rahm <joshuarahm@gmail.com>2024-02-11 17:51:21 -0700
commitd1ef7fab6edb3550f46f65803fe53f027cfb5dd8 (patch)
treef9970803b67751490486a1d1c84a01bebee350ba /src/harness_adapter.c
parenta0f290b2e82e1331f4f932042dcdbc7d919a374f (diff)
downloadwetterhorn-d1ef7fab6edb3550f46f65803fe53f027cfb5dd8.tar.gz
wetterhorn-d1ef7fab6edb3550f46f65803fe53f027cfb5dd8.tar.bz2
wetterhorn-d1ef7fab6edb3550f46f65803fe53f027cfb5dd8.zip
Change up a lot of stuff.
Add more functions to the plugin interface and write some generators to generate an interface header file and the plugin's loading code.
Diffstat (limited to 'src/harness_adapter.c')
-rw-r--r--src/harness_adapter.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/src/harness_adapter.c b/src/harness_adapter.c
index dbae57a..15a2269 100644
--- a/src/harness_adapter.c
+++ b/src/harness_adapter.c
@@ -1,19 +1,8 @@
-#include <stdio.h>
#include "HsFFI.h"
+#include "plugin_interface.h"
-typedef void* opst_t;
+const char *plugin_name = "Wetterhorn";
-extern opst_t wetterhorn();
-
-opst_t plugin_init(int* argc, char*** argv)
-{
- hs_init(argc, argv);
- return wetterhorn();
-}
-
-void plugin_teardown()
-{
- hs_exit();
-}
-
-const char* plugin_name = "Wetterhorn";
+void plugin_load(int argc, char **argv) { hs_init(&argc, &argv); }
+void plugin_metaload(int argc, char **argv) { hs_init(&argc, &argv); }
+void plugin_teardown(opqst_t st) { hs_exit(); }