-
-/*
- * Structure defentitions for hook tables
- */
-
-
-struct LogFunctionHook {
- struct LogFunctionHook *next;
- int loglevel;
- void (*h_function_pointer) (char *);
-};
-extern struct LogFunctionHook *LogHookTable;
-
-struct CleanupFunctionHook {
- struct CleanupFunctionHook *next;
- void (*h_function_pointer) (void);
-};
-extern struct CleanupFunctionHook *CleanupHookTable;
-
-struct FixedOutputHook {
- struct FixedOutputHook *next;
- char content_type[64];
- void (*h_function_pointer) (char *, int);
-};
-extern struct FixedOutputHook *FixedOutputTable;
-
-
-
-/*
- * SessionFunctionHook extensions are used for any type of hook for which
- * the context in which it's being called (which is determined by the event
- * type) will make it obvious for the hook function to know where to look for
- * pertinent data.
- */
-struct SessionFunctionHook {
- struct SessionFunctionHook *next;
- void (*h_function_pointer) (void);
- int eventtype;
-};
-extern struct SessionFunctionHook *SessionHookTable;
-
-
-/*
- * UserFunctionHook extensions are used for any type of hook which implements
- * an operation on a user or username (potentially) other than the one
- * operating the current session.
- */
-struct UserFunctionHook {
- struct UserFunctionHook *next;
- void (*h_function_pointer) (struct ctdluser *usbuf);
- int eventtype;
-};
-extern struct UserFunctionHook *UserHookTable;
-
-/*
- * MessageFunctionHook extensions are used for hooks which implement handlers
- * for various types of message operations (save, read, etc.)
- */
-struct MessageFunctionHook {
- struct MessageFunctionHook *next;
- int (*h_function_pointer) (struct CtdlMessage *msg);
- int eventtype;
-};
-extern struct MessageFunctionHook *MessageHookTable;
-
-
-/*
- * NetprocFunctionHook extensions are used for hooks which implement handlers
- * for incoming network messages.
- */
-struct NetprocFunctionHook {
- struct NetprocFunctionHook *next;
- int (*h_function_pointer) (struct CtdlMessage *msg, char *target_room);
-};
-extern struct NetprocFunctionHook *NetprocHookTable;
-
-
-/*
- * DeleteFunctionHook extensions are used for hooks which get called when a
- * message is about to be deleted.
- */
-struct DeleteFunctionHook {
- struct DeleteFunctionHook *next;
- void (*h_function_pointer) (char *target_room, long msgnum);
-};
-extern struct DeleteFunctionHook *DeleteHookTable;
-
-
-/*
- * ExpressMessageFunctionHook extensions are used for hooks which implement
- * the sending of an instant message through various channels. Any function
- * registered should return the number of recipients to whom the message was
- * successfully transmitted.
- */
-struct XmsgFunctionHook {
- struct XmsgFunctionHook *next;
- int (*h_function_pointer) (char *, char *, char *, char *);
- int order;
-};
-extern struct XmsgFunctionHook *XmsgHookTable;
-
-