struct ServiceFunctionHook *ServiceHookTable = NULL;
struct FixedOutputHook *FixedOutputTable = NULL;
struct RoomFunctionHook *RoomHookTable = NULL;
-struct MaintenanceThreadHook *MaintenanceThreadHookTable = NULL;
struct SearchFunctionHook *SearchFunctionHookTable = NULL;
struct ProtoFunctionHook {
-void CtdlRegisterXmsgHook(int (*fcn_ptr) (char *, char *, char *), int order)
+void CtdlRegisterXmsgHook(int (*fcn_ptr) (char *, char *, char *, char *), int order)
{
struct XmsgFunctionHook *newfcn;
- newfcn = (struct XmsgFunctionHook *)
- malloc(sizeof(struct XmsgFunctionHook));
+ newfcn = (struct XmsgFunctionHook *) malloc(sizeof(struct XmsgFunctionHook));
newfcn->next = XmsgHookTable;
newfcn->order = order;
newfcn->h_function_pointer = fcn_ptr;
}
-void CtdlUnregisterXmsgHook(int (*fcn_ptr) (char *, char *, char *), int order)
+void CtdlUnregisterXmsgHook(int (*fcn_ptr) (char *, char *, char *, char *), int order)
{
struct XmsgFunctionHook *cur, *p;
-int PerformXmsgHooks(char *sender, char *recp, char *msg)
+int PerformXmsgHooks(char *sender, char *sender_email, char *recp, char *msg)
{
struct XmsgFunctionHook *fcn;
int total_sent = 0;
if (fcn->order == p) {
total_sent +=
(*fcn->h_function_pointer)
- (sender, recp, msg);
+ (sender, sender_email, recp, msg);
}
}
/* Break out of the loop if a higher-priority function
return total_sent;
}
-void CtdlRegisterMaintenanceThread(char *name, void *(*thread_proc)(void *arg))
-{
- struct MaintenanceThreadHook *newfcn;
-
- newfcn = (struct MaintenanceThreadHook *)
- malloc(sizeof(struct MaintenanceThreadHook));
- newfcn->name = name;
- newfcn->next = MaintenanceThreadHookTable;
- newfcn->fcn_ptr = thread_proc;
- MaintenanceThreadHookTable = newfcn;
-
- lprintf(CTDL_INFO, "Registered a new maintenance thread function\n");
-}