]> code.citadel.org Git - citadel.git/blob - citadel/dynloader.h
* Modules can now unregister any of their hooks (though none yet take
[citadel.git] / citadel / dynloader.h
1 /* $Id$ */
2
3 #ifndef DYNLOADER_H
4 #define DYNLOADER_H
5
6 #include "server.h"
7
8 void DLoader_Init(char *pathname);
9 int DLoader_Exec_Cmd(char *cmdbuf);
10 char *Dynamic_Module_Init(void);
11
12 void CtdlRegisterLogHook(void (*fcn_ptr)(char *), int loglevel);
13 void CtdlUnregisterLogHook(void (*fcn_ptr)(char *), int loglevel);
14 void PerformLogHooks(int loglevel, char *logmsg);
15
16
17 void CtdlRegisterSessionHook(void (*fcn_ptr)(void), int EventType);
18 void CtdlUnregisterSessionHook(void (*fcn_ptr)(void), int EventType);
19 void PerformSessionHooks(int EventType);
20
21 void CtdlRegisterUserHook(void (*fcn_ptr)(char*, long), int EventType);
22 void CtdlUnregisterUserHook(void (*fcn_ptr)(char*, long), int EventType);
23 void PerformUserHooks(char *username, long usernum, int EventType);
24
25 void CtdlRegisterXmsgHook(int (*fcn_ptr)(char *, char *, char *), int order);
26 void CtdlUnregisterXmsgHook(int (*fcn_ptr)(char *, char *, char *), int order);
27 int PerformXmsgHooks(char *, char *, char *);
28
29 void CtdlRegisterMessageHook(int (*handler)(struct CtdlMessage *), int EventType);
30 void CtdlUnregisterMessageHook(int (*handler)(struct CtdlMessage *), int EventType);
31 int PerformMessageHooks(struct CtdlMessage *, int EventType);
32
33 void CtdlRegisterCleanupHook(void (*fcn_ptr)(void));
34 void CtdlUnregisterCleanupHook(void (*fcn_ptr)(void));
35 void CtdlRegisterProtoHook(void (*handler)(char *), char *cmd, char *desc);
36 void CtdlUnregisterProtoHook(void (*handler)(char *), char *cmd);
37 void CtdlRegisterServiceHook(int tcp_port,
38                         char *sockpath,
39                         void (*h_greeting_function) (void),
40                         void (*h_command_function) (void) ) ;
41 void CtdlUnregisterServiceHook(int tcp_port,
42                         char *sockpath,
43                         void (*h_greeting_function) (void),
44                         void (*h_command_function) (void) ) ;
45
46 #endif /* DYNLOADER_H */