From 2b44f885e97b0d8902014a5a61f6687fa2931dec Mon Sep 17 00:00:00 2001 From: bigfoot547 Date: Mon, 17 Nov 2025 20:57:42 -0600 Subject: ignore this commit --- src/plugins.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/plugins.c (limited to 'src/plugins.c') diff --git a/src/plugins.c b/src/plugins.c new file mode 100644 index 0000000..f2f8d14 --- /dev/null +++ b/src/plugins.c @@ -0,0 +1,63 @@ +#include "plugins.h" +#include +#include +#include +#include + +#include +#include + +struct ptx__plugin_manager_tag +{ + size_t sz_plugins; + ptx_plugin_t *plugins; +}; + +struct ptx__plugin_handle_tag +{ + char *path; +}; + +ptx_plugin_manager_t *ptx_plugin_manager_new(void) +{ + ptx_plugin_manager_t *mgr = malloc(sizeof(ptx_plugin_manager_t)); + if (!mgr) return NULL; + + /* do init */ + mgr->sz_plugins = 0; + mgr->plugins = NULL; + + return mgr; +} + +void ptx_plugin_manager_free(ptx_plugin_manager_t *mgr) +{ + if (!mgr) return; + + /* do cleanup */ + + free(mgr); + return; +} + +int ptx_plugin_manager_load_dir(ptx_plugin_manager_t *mgr, const char *dirnam) +{ + struct dirent *ent; + DIR *dir = opendir(dirnam); + + if (!dir) { + fprintf(stderr, "Failed to load plugins from %s (opendir): %s\n", dirnam, strerror(errno)); + return -1; + } + + while ((errno = 0, ent = readdir(dir))) { + + } + + if (errno != 0) { + fprintf(stderr, "Error reading entries from %s (readdir): %s\n", dirnam, strerror(errno)); + return -1; + } + + return 0; +} -- cgit v1.2.3-70-g09d2