diff options
Diffstat (limited to 'src/plugin.h')
-rw-r--r-- | src/plugin.h | 23 |
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 */ |