2004-06-08 23:54:24 +00:00
|
|
|
#ifndef foomodulehfoo
|
|
|
|
|
#define foomodulehfoo
|
|
|
|
|
|
|
|
|
|
#include <inttypes.h>
|
|
|
|
|
#include <ltdl.h>
|
|
|
|
|
|
|
|
|
|
#include "core.h"
|
|
|
|
|
|
2004-07-03 23:35:12 +00:00
|
|
|
struct pa_module {
|
|
|
|
|
struct pa_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
|
|
|
|
2004-07-03 23:35:12 +00:00
|
|
|
int (*init)(struct pa_core *c, struct pa_module*m);
|
|
|
|
|
void (*done)(struct pa_core *c, struct pa_module*m);
|
2004-06-08 23:54:24 +00:00
|
|
|
|
|
|
|
|
void *userdata;
|
|
|
|
|
};
|
|
|
|
|
|
2004-07-03 23:35:12 +00:00
|
|
|
struct pa_module* pa_module_load(struct pa_core *c, const char *name, const char*argument);
|
|
|
|
|
void pa_module_unload(struct pa_core *c, struct pa_module *m);
|
|
|
|
|
void pa_module_unload_by_index(struct pa_core *c, uint32_t index);
|
2004-06-08 23:54:24 +00:00
|
|
|
|
2004-07-03 23:35:12 +00:00
|
|
|
void pa_module_unload_all(struct pa_core *c);
|
2004-06-08 23:54:24 +00:00
|
|
|
|
2004-07-03 23:35:12 +00:00
|
|
|
char *pa_module_list_to_string(struct pa_core *c);
|
2004-06-18 00:22:37 +00:00
|
|
|
|
2004-07-03 23:35:12 +00:00
|
|
|
void pa_module_unload_request(struct pa_core *c, struct pa_module *m);
|
2004-06-19 01:01:09 +00:00
|
|
|
|
|
|
|
|
|
2004-06-08 23:54:24 +00:00
|
|
|
#endif
|