2004-06-08 23:54:24 +00:00
|
|
|
#ifndef foomodulehfoo
|
|
|
|
|
#define foomodulehfoo
|
|
|
|
|
|
|
|
|
|
#include <inttypes.h>
|
|
|
|
|
#include <ltdl.h>
|
|
|
|
|
|
|
|
|
|
#include "core.h"
|
|
|
|
|
|
|
|
|
|
struct module {
|
2004-06-10 23:22:16 +00:00
|
|
|
struct core *core;
|
2004-06-08 23:54:24 +00:00
|
|
|
char *name, *argument;
|
|
|
|
|
uint32_t index;
|
|
|
|
|
|
2004-06-10 23:22:16 +00:00
|
|
|
lt_dlhandle dl;
|
2004-06-08 23:54:24 +00:00
|
|
|
|
|
|
|
|
int (*init)(struct core *c, struct module*m);
|
|
|
|
|
void (*done)(struct core *c, struct module*m);
|
|
|
|
|
|
|
|
|
|
void *userdata;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct module* module_load(struct core *c, const char *name, const char*argument);
|
|
|
|
|
void module_unload(struct core *c, struct module *m);
|
|
|
|
|
void module_unload_by_index(struct core *c, uint32_t index);
|
|
|
|
|
|
|
|
|
|
void module_unload_all(struct core *c);
|
|
|
|
|
|
2004-06-18 00:22:37 +00:00
|
|
|
char *module_list_to_string(struct core *c);
|
|
|
|
|
|
2004-06-19 01:01:09 +00:00
|
|
|
void module_unload_request(struct core *c, struct module *m);
|
|
|
|
|
|
|
|
|
|
|
2004-06-08 23:54:24 +00:00
|
|
|
#endif
|