]> jfr.im git - irc/quakenet/newserv.git/blob - core/modules.h
BUILD: add require-all build mode
[irc/quakenet/newserv.git] / core / modules.h
1 /* modules.h */
2
3 #ifndef __MODULES_H
4 #define __MODULES_H
5
6 #include "../lib/sstring.h"
7
8 #include <time.h>
9
10 #define MODULENAMELEN 40
11 #define MODULEDESCLEN 200
12
13 typedef struct {
14 sstring *name;
15 void *handle;
16 const char *version;
17 const char *buildid;
18 time_t loadedsince;
19 } module;
20
21 void initmodules();
22 int insmod(char *modulename);
23 int getindex(char *modulename);
24 int isloaded(char *modulename);
25 int rmmod(char *modulename, int close);
26 char *lsmod(int index, const char **ver, const char **buildid, time_t *loadedsince);
27 void preparereload(char *modulename);
28 void reloadmarked(void);
29 void safereload(char *themodule);
30 void newserv_shutdown();
31 void *ndlsym(char *module, char *fn);
32
33 extern int newserv_shutdown_pending;
34
35 #endif