]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/hash.h
Minor typo in previous commit where returning 0 when it should have been 1 from opser...
[irc/evilnet/x3.git] / src / hash.h
index ad469fdcff814db133054905de912f8bc63aa72b..14378e849e3afd44bdd23669fa574a9f3020c31f 100644 (file)
 
 #define NICKLEN         30
 #define USERLEN         10
-#define HOSTLEN         63
+#define HOSTLEN         75
 #define SOCKIPLEN       45
 #define ACCOUNTLEN      15
 #define REALLEN         50
@@ -228,6 +228,7 @@ struct userNode {
     
     char *mark;                   /* only filled if they are marked */
     char *version_reply;          /* only filled in if a version query was triggered */
+    char *sslfp;                  /* only filled in if a mark SSLCLIFP is received */
 
     time_t timestamp;             /* Time of last nick change */
     time_t idle_since;
@@ -374,17 +375,20 @@ struct modeNode* GetUserMode(struct chanNode* channel, struct userNode* user);
 int userList_contains(struct userList *list, struct userNode *user);
 unsigned int IsUserP(struct userNode *user);
 
-typedef int (*server_link_func_t) (struct server *server);
-void reg_server_link_func(server_link_func_t handler);
-
-typedef int (*new_user_func_t) (struct userNode *user);
-void reg_new_user_func(new_user_func_t handler);
-typedef void (*del_user_func_t) (struct userNode *user, struct userNode *killer, const char *why);
-void reg_del_user_func(del_user_func_t handler);
-void unreg_del_user_func(del_user_func_t handler);
+typedef int (*server_link_func_t) (struct server *server, void *extra);
+void reg_server_link_func(server_link_func_t handler, void *extra);
+void call_server_link_funcs(struct server *server);
+
+typedef int (*new_user_func_t) (struct userNode *user, void *extra);
+void reg_new_user_func(new_user_func_t handler, void *extra);
+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);
+void call_del_user_funcs(struct userNode *user, struct userNode *killer, const char *why);
+void unreg_del_user_func(del_user_func_t handler, void *extra);
 void ReintroduceUser(struct userNode* user);
-typedef void (*nick_change_func_t)(struct userNode *user, const char *old_nick);
-void reg_nick_change_func(nick_change_func_t handler);
+typedef void (*nick_change_func_t)(struct userNode *user, const char *old_nick, void *extra);
+void reg_nick_change_func(nick_change_func_t handler, void *extra);
 void NickChange(struct userNode* user, const char *new_nick, int no_announce);
 void SVSNickChange(struct userNode* user, const char *new_nick);
 
@@ -395,12 +399,12 @@ void StampUser(struct userNode *user, const char *stamp, time_t timestamp);
 void assign_fakehost(struct userNode *user, const char *host, int announce);
 void set_geoip_info(struct userNode *user);
 
-typedef void (*new_channel_func_t) (struct chanNode *chan);
-void reg_new_channel_func(new_channel_func_t handler);
-typedef int (*join_func_t) (struct modeNode *mNode);
-void reg_join_func(join_func_t handler);
-typedef void (*del_channel_func_t) (struct chanNode *chan);
-void reg_del_channel_func(del_channel_func_t handler);
+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(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);
 
 struct chanNode* AddChannel(const char *name, time_t time_, const char *modes, char *banlist, char *exemptlist);
 void LockChannel(struct chanNode *channel);
@@ -408,21 +412,21 @@ void UnlockChannel(struct chanNode *channel);
 
 struct modeNode* AddChannelUser(struct userNode* user, struct chanNode* channel);
 
-typedef void (*part_func_t) (struct modeNode *mn, const char *reason);
-void reg_part_func(part_func_t handler);
-void unreg_part_func(part_func_t handler);
+typedef void (*part_func_t) (struct modeNode *mn, const char *reason, void *extra);
+void reg_part_func(part_func_t handler, void *extra);
+void unreg_part_func(part_func_t handler, void *extra);
 void DelChannelUser(struct userNode* user, struct chanNode* channel, const char *reason, int deleting);
 void KickChannelUser(struct userNode* target, struct chanNode* channel, struct userNode *kicker, const char *why);
 
-typedef void (*kick_func_t) (struct userNode *kicker, struct userNode *user, struct chanNode *chan);
-void reg_kick_func(kick_func_t handler);
+typedef void (*kick_func_t) (struct userNode *kicker, struct userNode *user, struct chanNode *chan, void *extra);
+void reg_kick_func(kick_func_t handler, void *extra);
 void ChannelUserKicked(struct userNode* kicker, struct userNode* victim, struct chanNode* channel);
 
 int ChannelBanExists(struct chanNode *channel, const char *ban);
 int ChannelExemptExists(struct chanNode *channel, const char *exempt);
 
-typedef int (*topic_func_t)(struct userNode *who, struct chanNode *chan, const char *old_topic);
-void reg_topic_func(topic_func_t handler);
+typedef int (*topic_func_t)(struct userNode *who, struct chanNode *chan, const char *old_topic, void *extra);
+void reg_topic_func(topic_func_t handler, void *extra);
 void SetChannelTopic(struct chanNode *channel, struct userNode *service, struct userNode *user, const char *topic, int announce);
 struct userNode *IsInChannel(struct chanNode *channel, struct userNode *user);