]> code.citadel.org Git - citadel.git/blobdiff - citadel/dynloader.h
- port to Cygwin (DLL support, etc.)
[citadel.git] / citadel / dynloader.h
index f9aef0411ff0b7c975dc87deb226d5eb8a0d268e..d685fcbfbd6913b1965c5ef88cd3e4df8441fef1 100644 (file)
@@ -1,24 +1,35 @@
-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 DLoader_Init(char *pathname);
 int DLoader_Exec_Cmd(char *cmdbuf);
-void add_symbol(char *fcn_name, char *server_cmd, char *info_msg, symtab **);
-void CtdlRegisterCleanupHook(void *fcn_ptr);
-void CtdlRegisterNewRoomHook(void *fcn_ptr);
-void CtdlRegisterSessionHook(void *fcn_ptr, int StartStop);
-void CtdlRegisterLoginHook(void *fcn_ptr);
+char *Dynamic_Module_Init(void);
+
+void CtdlRegisterLogHook(void (*fcn_ptr)(char *), int loglevel);
+void PerformLogHooks(int loglevel, char *logmsg);
+
+
+void CtdlRegisterSessionHook(void (*fcn_ptr)(void), int EventType);
+void PerformSessionHooks(int EventType);
+
+void CtdlRegisterUserHook(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);
+int PerformXmsgHooks(char *, char *, char *);
+
+void CtdlRegisterMessageHook(int (*handler)(struct CtdlMessage *), int EventType);
+int PerformMessageHooks(struct CtdlMessage *, int EventType);
+
+void CtdlRegisterCleanupHook(void (*fcn_ptr)(void));
+void CtdlRegisterProtoHook(void (*handler)(char *), char *cmd, char *desc);
+void CtdlRegisterServiceHook(int tcp_port,
+                       char *sockpath,
+                        void (*h_greeting_function) (void),
+                        void (*h_command_function) (void) ) ;
+
+#endif /* DYNLOADER_H */