#include "common.h"
#include "dict.h"
+#include "eventhooks.h"
#include "policer.h"
#include "recdb.h"
struct routeList *servers;
};
+/* generic hook function args */
+struct funcargs {
+ void *func;
+ void *extra;
+};
extern struct server *self;
extern dict_t channels;
extern time_t max_clients_time;
extern struct userList curr_opers, curr_helpers;
+extern unsigned int count_opers;
+
struct server* GetServerH(const char *name); /* using full name */
struct userNode* GetUserH(const char *nick); /* using nick */
struct chanNode* GetChannel(const char *name);
typedef int (*new_user_func_t) (struct userNode *user, void *extra);
void reg_new_user_func(new_user_func_t handler, void *extra);
+void reg_new_user_func_pos(new_user_func_t handler, void *extra, int pos);
void call_new_user_funcs(struct userNode *user);
typedef void (*del_user_func_t) (struct userNode *user, struct userNode *killer, const char *why, void *extra);
void reg_del_user_func(del_user_func_t handler, void *extra);
typedef void (*new_channel_func_t) (struct chanNode *chan, void *extra);
void reg_new_channel_func(new_channel_func_t handler, void *extra);
typedef int (*join_func_t) (struct modeNode *mNode, void *extra);
+void reg_join_func_pos(join_func_t handler, void *extra, int pos);
void reg_join_func(join_func_t handler, void *extra);
typedef void (*del_channel_func_t) (struct chanNode *chan, void *extra);
void reg_del_channel_func(del_channel_func_t handler, void *extra);