]> code.citadel.org Git - citadel.git/blobdiff - citadel/dynloader.h
* event.c: fixed a misspelling
[citadel.git] / citadel / dynloader.h
index fb36c3e1d65f8c07c7782514197f2b6c761cc774..69b26bfe79b0806dd97d9d2fc111445f2bf9d38e 100644 (file)
@@ -1,20 +1,58 @@
-struct DLModule_Info
-{
-   char module_name[30];
-   char module_author[30];
-   char module_author_email[30];
-   int major_version, minor_version;
-};
-
-typedef struct s_symtab
-{
-   char *fcn_name;
-   char *server_cmd;
-   char *info_msg;
-   char *module_path;
-   struct s_symtab *next;
-} symtab;
-
-void DLoader_Init(char *pathname, symtab **);
+/* $Id$ */
+
+#ifndef DYNLOADER_H
+#define DYNLOADER_H
+
+#include "server.h"
+
+void initialize_server_extensions(void);
 int DLoader_Exec_Cmd(char *cmdbuf);
-void add_symbol(char *fcn_name, char *server_cmd, char *info_msg, symtab **);
+char *Dynamic_Module_Init(void);
+
+void CtdlRegisterLogHook(void (*fcn_ptr)(char *), int loglevel);
+void CtdlUnregisterLogHook(void (*fcn_ptr)(char *), int loglevel);
+void PerformLogHooks(int loglevel, char *logmsg);
+
+void CtdlRegisterSessionHook(void (*fcn_ptr)(void), int EventType);
+void CtdlUnregisterSessionHook(void (*fcn_ptr)(void), int EventType);
+void PerformSessionHooks(int EventType);
+
+void CtdlRegisterUserHook(void (*fcn_ptr)(char*, long), int EventType);
+void CtdlUnregisterUserHook(void (*fcn_ptr)(char*, long), int EventType);
+void PerformUserHooks(char *username, long usernum, int EventType);
+
+void CtdlRegisterXmsgHook(int (*fcn_ptr)(char *, char *, char *), int order);
+void CtdlUnregisterXmsgHook(int (*fcn_ptr)(char *, char *, char *), int order);
+int PerformXmsgHooks(char *, char *, char *);
+
+
+void CtdlRegisterMessageHook(int (*handler)(struct CtdlMessage *),
+                                                       int EventType);
+void CtdlUnregisterMessageHook(int (*handler)(struct CtdlMessage *),
+                                                       int EventType);
+int PerformMessageHooks(struct CtdlMessage *, int EventType);
+
+
+void CtdlRegisterNetprocHook(int (*handler)(struct CtdlMessage *, char *) );
+void CtdlUnregisterNetprocHook(int (*handler)(struct CtdlMessage *, char *) );
+int PerformNetprocHooks(struct CtdlMessage *, char *);
+
+void CtdlRegisterDeleteHook(void (*handler)(char *, long) );
+void CtdlUnregisterDeleteHook(void (*handler)(char *, long) );
+void PerformDeleteHooks(char *, long);
+
+
+void CtdlRegisterCleanupHook(void (*fcn_ptr)(void));
+void CtdlUnregisterCleanupHook(void (*fcn_ptr)(void));
+void CtdlRegisterProtoHook(void (*handler)(char *), char *cmd, char *desc);
+void CtdlUnregisterProtoHook(void (*handler)(char *), char *cmd);
+void CtdlRegisterServiceHook(int tcp_port,
+                       char *sockpath,
+                        void (*h_greeting_function) (void),
+                        void (*h_command_function) (void) ) ;
+void CtdlUnregisterServiceHook(int tcp_port,
+                       char *sockpath,
+                        void (*h_greeting_function) (void),
+                        void (*h_command_function) (void) ) ;
+
+#endif /* DYNLOADER_H */