#define check_tcl_join(a,b,c,d) check_tcl_joinpart(a,b,c,d,H_join) #define check_tcl_part(a,b,c,d) check_tcl_joinpart(a,b,c,d,H_part) #define check_tcl_splt(a,b,c,d) check_tcl_joinpart(a,b,c,d,H_splt) #define check_tcl_rejn(a,b,c,d) check_tcl_joinpart(a,b,c,d,H_rejn) #define check_tcl_sign(a,b,c,d,e) check_tcl_signtopcnick(a,b,c,d,e,H_sign) #define check_tcl_topc(a,b,c,d,e) check_tcl_signtopcnick(a,b,c,d,e,H_topc) #define check_tcl_nick(a,b,c,d,e) check_tcl_signtopcnick(a,b,c,d,e,H_nick) #define check_tcl_mode(a,b,c,d,e,f) check_tcl_kickmode(a,b,c,d,e,f,H_mode) #define check_tcl_kick(a,b,c,d,e,f) check_tcl_kickmode(a,b,c,d,e,f,H_kick) #ifdef MAKING_IRC static void check_tcl_kickmode (char *,char *,struct userrec *,char *,char *,char *, p_tcl_bind_list); static void check_tcl_joinpart (char *,char *,struct userrec *,char *, p_tcl_bind_list); static void check_tcl_signtopcnick (char *, char *, struct userrec * u, char *, char *, p_tcl_bind_list); static void check_tcl_pubm (char *, char *, char *, char *); static int check_tcl_pub (char *, char *, char *, char *); static int me_op (struct chanset_t *); static int any_ops (struct chanset_t *); static int hand_on_chan (struct chanset_t *, struct userrec *); static char * getchanmode (struct chanset_t *); static void flush_mode(struct chanset_t *,int); static void resetbans(struct chanset_t *); static void reset_chan_info(struct chanset_t *); static void recheck_channel(struct chanset_t *,int); static void set_key (struct chanset_t *, char *); static void take_revenge (struct chanset_t *, char *, char *); static int detect_chan_flood (char *, char *, char *, struct chanset_t *, int, char *); static void newban (struct chanset_t *, char *, char *); static char * quickban (struct chanset_t *, char *); static void got_op (struct chanset_t * chan, char * nick, char * from, char * who, struct flag_record * opper); static int killmember (struct chanset_t * chan, char * nick); static void check_lonely_channel (struct chanset_t * chan); static void gotmode (char *, char *); #else /* 4 - 7 */ #define H_splt (*(p_tcl_bind_list*)(irc_funcs[4])) #define H_rejn (*(p_tcl_bind_list*)(irc_funcs[5])) #define H_nick (*(p_tcl_bind_list*)(irc_funcs[6])) #define H_sign (*(p_tcl_bind_list*)(irc_funcs[7])) /* 8 - 11 */ #define H_join (*(p_tcl_bind_list*)(irc_funcs[8])) #define H_part (*(p_tcl_bind_list*)(irc_funcs[9])) #define H_mode (*(p_tcl_bind_list*)(irc_funcs[10])) #define H_kick (*(p_tcl_bind_list*)(irc_funcs[11])) /* 12 - 15 */ #define H_pubm (*(p_tcl_bind_list*)(irc_funcs[12])) #define H_pub (*(p_tcl_bind_list*)(irc_funcs[13])) #define H_topc (*(p_tcl_bind_list*)(irc_funcs[14])) /* recheck_channel is here */ /* 16 - 19 */ #define me_op ((int(*)(irc_funcs[16]))(struct chanset_t *)) #endif