xbot/lib/module.h

48 lines
974 B
C
Raw Normal View History

#ifndef MODULE_H
#define MODULE_H
#include "irc.h"
2024-02-13 02:56:23 -08:00
#include "events.h"
2024-02-12 23:22:10 -08:00
struct module {
2024-02-17 00:21:22 -08:00
char name[25];
char author[50];
char version[10];
char description[256];
2024-02-17 00:21:22 -08:00
char fname[256];
#ifdef _WIN32
HMODULE handle;
FARPROC init;
FARPROC unload;
#else
void *handle;
void (*init)();
void (*unload)();
#endif
};
struct mods {
int count;
struct module *modules;
2024-02-12 23:22:10 -08:00
};
2024-02-23 17:57:59 -08:00
extern struct mods *mods;
void init_mods();
void load_module(struct irc_conn *bot, char *where, char *stype, char *file);
2024-02-16 22:03:20 -08:00
void unload_module(struct irc_conn *bot, char *where, char *file);
2024-02-17 00:21:22 -08:00
void list_modules(struct irc_conn *bot, char *where);
2024-02-25 09:09:24 -08:00
void set_bot(struct irc_conn *b);
void set_bot_db(struct db_table *db);
2024-02-17 00:21:22 -08:00
MY_API void register_module(char *name, char *author, char *version, char *description);
MY_API void unregister_module(char *name);
MY_API struct mods *get_mods();
2024-02-25 09:09:24 -08:00
MY_API struct irc_conn *get_bot();
MY_API struct db_table *get_bot_db();
2024-02-12 23:22:10 -08:00
#endif