summaryrefslogtreecommitdiffstats
path: root/src/plugin.h
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@dside.dyndns.org>2005-07-13 16:49:47 +0000
committerSuren A. Chilingaryan <csa@dside.dyndns.org>2005-07-13 16:49:47 +0000
commit7233ff9095194b38586ce438379f08691a0fecdd (patch)
tree8c14b8899914b4ae9e0d6f62e14dd6b3519983cd /src/plugin.h
parentfad788d3f02564486039886b1de1cbf976776ac3 (diff)
downloadlibrcc-7233ff9095194b38586ce438379f08691a0fecdd.tar.gz
librcc-7233ff9095194b38586ce438379f08691a0fecdd.tar.bz2
librcc-7233ff9095194b38586ce438379f08691a0fecdd.tar.xz
librcc-7233ff9095194b38586ce438379f08691a0fecdd.zip
Engine Plugins
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 */