-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 */