8 #include "sysdep_decls.h"
10 * define macros for module init stuff
14 #define CTDL_MODULE_INIT(module_name) char *ctdl_module_##module_name##_init (void)
16 #define CTDL_INIT_CALL(module_name) ctdl_module_##module_name##_init ()
18 void CtdlRegisterSessionHook(void (*fcn_ptr)(void), int EventType);
19 void CtdlUnregisterSessionHook(void (*fcn_ptr)(void), int EventType);
21 void CtdlRegisterUserHook(void (*fcn_ptr)(struct ctdluser *), int EventType);
22 void CtdlUnregisterUserHook(void (*fcn_ptr)(struct ctdluser *), int EventType);
24 void CtdlRegisterXmsgHook(int (*fcn_ptr)(char *, char *, char *), int order);
25 void CtdlUnregisterXmsgHook(int (*fcn_ptr)(char *, char *, char *), int order);
27 void CtdlRegisterMessageHook(int (*handler)(struct CtdlMessage *),
29 void CtdlUnregisterMessageHook(int (*handler)(struct CtdlMessage *),
32 void CtdlRegisterNetprocHook(int (*handler)(struct CtdlMessage *, char *) );
33 void CtdlUnregisterNetprocHook(int (*handler)(struct CtdlMessage *, char *) );
35 void CtdlRegisterRoomHook(int (*fcn_ptr)(struct ctdlroom *) );
36 void CtdlUnregisterRoomHook(int (*fnc_ptr)(struct ctdlroom *) );
38 void CtdlRegisterDeleteHook(void (*handler)(char *, long) );
39 void CtdlUnregisterDeleteHook(void (*handler)(char *, long) );
41 void CtdlRegisterCleanupHook(void (*fcn_ptr)(void));
42 void CtdlUnregisterCleanupHook(void (*fcn_ptr)(void));
44 void CtdlRegisterProtoHook(void (*handler)(char *), char *cmd, char *desc);
45 void CtdlUnregisterProtoHook(void (*handler)(char *), char *cmd);
47 void CtdlRegisterServiceHook(int tcp_port,
49 void (*h_greeting_function) (void),
50 void (*h_command_function) (void),
51 void (*h_async_function) (void)
53 void CtdlUnregisterServiceHook(int tcp_port,
55 void (*h_greeting_function) (void),
56 void (*h_command_function) (void),
57 void (*h_async_function) (void)
60 void CtdlRegisterFixedOutputHook(char *content_type,
61 void (*output_function) (char *supplied_data, int len)
63 void CtdlUnRegisterFixedOutputHook(char *content_type);
65 void CtdlRegisterMaintenanceThread(char *name, void *(*thread_proc) (void *arg));
67 /* TODODRW: This needs to be changed into a hook type interface
68 * for now we have this horrible hack
70 void CtdlModuleStartCryptoMsgs(char *ok_response, char *nosup_response, char *error_response);
72 #endif /* CTDL_MODULE_H */