X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=IRCEvents.h;h=b92669f1f7d4fde8813c17e0030e05f63a9866fa;hb=84fb65ee885f3f747b0a07eb07999395c0ae22f9;hp=ce560ed95bea4de824736fdc6d7a9374501f4b48;hpb=8fc68762e33d8ff24f5997228befbcf02e80a385;p=NeonServV5.git diff --git a/IRCEvents.h b/IRCEvents.h index ce560ed..b92669f 100644 --- a/IRCEvents.h +++ b/IRCEvents.h @@ -6,21 +6,91 @@ struct UserNode; struct ChanNode; struct ChanUser; +struct ClientSocket; +void init_bind(); +void free_bind(); + +typedef void join_func_t(struct ChanUser *chanuser); +int bind_join(join_func_t *func); +void unbind_join(join_func_t *func); int event_join(struct ChanUser *chanuser); + +typedef void nick_func_t(struct UserNode *user, char *new_nick); +int bind_nick(nick_func_t *func); +void unbind_nick(nick_func_t *func); int event_nick(struct UserNode *user, char *new_nick); + +typedef void part_func_t(struct ChanUser *chanuser, char *reason); +int bind_part(part_func_t *func); +void unbind_part(part_func_t *func); int event_part(struct ChanUser *chanuser, char *reason); + +typedef void quit_func_t(struct UserNode *user, char *reason); +int bind_quit(quit_func_t *func); +void unbind_quit(quit_func_t *func); int event_quit(struct UserNode *user, char *reason); + +typedef void kick_func_t(struct UserNode *user, struct ChanUser *target, char *reason); +int bind_kick(kick_func_t *func); +void unbind_kick(kick_func_t *func); int event_kick(struct UserNode *user, struct ChanUser *target, char *reason); + +typedef void topic_func_t(struct UserNode *user, struct ChanNode *chan, const char *new_topic); +int bind_topic(topic_func_t *func); +void unbind_topic(topic_func_t *func); int event_topic(struct UserNode *user, struct ChanNode *chan, const char *new_topic); + +typedef void mode_func_t(struct UserNode *user, struct ChanNode *chan, char *modes, char **argv, int argc); +int bind_mode(mode_func_t *func); +void unbind_mode(mode_func_t *func); int event_mode(struct UserNode *user, struct ChanNode *chan, char *modes, char **argv, int argc); + +typedef void chanmsg_func_t(struct UserNode *user, struct ChanNode *chan, char *message); +int bind_chanmsg(chanmsg_func_t *func); +void unbind_chanmsg(chanmsg_func_t *func); int event_chanmsg(struct UserNode *user, struct ChanNode *chan, char *message); + +typedef void privmsg_func_t(struct UserNode *user, struct UserNode *target, char *message); +int bind_privmsg(privmsg_func_t *func); +void unbind_privmsg(privmsg_func_t *func); int event_privmsg(struct UserNode *user, struct UserNode *target, char *message); + +typedef void channotice_func_t(struct UserNode *user, struct ChanNode *chan, char *message); +int bind_channotice(channotice_func_t *func); +void unbind_channotice(channotice_func_t *func); int event_channotice(struct UserNode *user, struct ChanNode *chan, char *message); + +typedef void privnotice_func_t(struct UserNode *user, struct UserNode *target, char *message); +int bind_privnotice(privnotice_func_t *func); +void unbind_privnotice(privnotice_func_t *func); int event_privnotice(struct UserNode *user, struct UserNode *target, char *message); + +typedef void chanctcp_func_t(struct UserNode *user, struct ChanNode *chan, char *command, char *text); +int bind_chanctcp(chanctcp_func_t *func); +void unbind_chanctcp(chanctcp_func_t *func); int event_chanctcp(struct UserNode *user, struct ChanNode *chan, char *command, char *text); -int event_privctcp(struct UserNode *user, struct ChanNode *chan, char *command, char *text); -int event_invite(struct UserNode *user, struct ChanUser *target, char *channel); + +typedef void privctcp_func_t(struct UserNode *user, struct UserNode *target, char *command, char *text); +int bind_privctcp(privctcp_func_t *func); +void unbind_privctcp(privctcp_func_t *func); +int event_privctcp(struct UserNode *user, struct UserNode *target, char *command, char *text); + +typedef void invite_func_t(struct UserNode *user, char *channel); +int bind_invite(invite_func_t *func); +void unbind_invite(invite_func_t *func); +int event_invite(struct UserNode *user, char *channel); + +typedef void raw_func_t(struct ClientSocket *client, char *from, char *cmd, char **argv, int argc); +int bind_raw(raw_func_t *func); +void unbind_raw(raw_func_t *func); int event_raw(struct ClientSocket *client, char *from, char *cmd, char **argv, int argc); +typedef void bot_ready_func_t(struct ClientSocket *client); +int bind_bot_ready(bot_ready_func_t *func); +void unbind_bot_ready(bot_ready_func_t *func); +int event_bot_ready(struct ClientSocket *client); + + + #endif \ No newline at end of file