summaryrefslogtreecommitdiffstats
path: root/src/plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugin.h')
-rw-r--r--src/plugin.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/plugin.h b/src/plugin.h
index 1325f03..e742d5f 100644
--- a/src/plugin.h
+++ b/src/plugin.h
@@ -13,4 +13,27 @@ rcc_library_handle rccLibraryOpen(char *filename);
void rccLibraryClose(rcc_library_handle handle);
void* rccLibraryFind(rcc_library_handle handle, const char *symbol);
+
+typedef enum rcc_plugin_type_t {
+ RCC_PLUGIN_TYPE_SYSTEMLIB = 0,
+ RCC_PLUGIN_TYPE_ENGINE,
+ RCC_PLUGIN_TYPE_MAX
+} rcc_plugin_type;
+
+struct rcc_plugin_handle_t {
+ const char *sn;
+ rcc_library_handle handle;
+ void *info_function;
+// rcc_library_type type;
+};
+
+typedef struct rcc_plugin_handle_t rcc_plugin_handle_s;
+typedef struct rcc_plugin_handle_t *rcc_plugin_handle;
+
+int rccPluginInit();
+void rccPluginFree();
+
+rcc_plugin_handle rccPluginLoad(rcc_plugin_type type, const char *name);
+rcc_engine *rccPluginEngineGetInfo(const char *name, const char *language);
+
#endif /* _RCC_PLUGIN_H */