summaryrefslogtreecommitdiff
path: root/src/core/modules.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/modules.h')
-rw-r--r--src/core/modules.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/core/modules.h b/src/core/modules.h
index f175957b..6ced5387 100644
--- a/src/core/modules.h
+++ b/src/core/modules.h
@@ -1,6 +1,24 @@
#ifndef __MODULES_H
#define __MODULES_H
+enum {
+ MODULE_ERROR_ALREADY_LOADED,
+ MODULE_ERROR_LOAD,
+ MODULE_ERROR_INVALID
+};
+
+typedef struct {
+ char *name;
+ GModule *gmodule;
+} MODULE_REC;
+
+extern GSList *modules;
+
+MODULE_REC *module_find(const char *name);
+
+int module_load(const char *path);
+void module_unload(MODULE_REC *module);
+
#define MODULE_DATA_INIT(rec) \
(rec)->module_data = g_hash_table_new(g_str_hash, g_str_equal)