Implemented runtime loadable modules. /LOAD loads a module, /UNLOAD

unloads it.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@420 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2000-07-02 22:04:00 +00:00 committed by cras
commit 21999ae205
6 changed files with 186 additions and 6 deletions

View file

@ -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)