X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=IRCEvents.h;h=e08803e9f34fd14fa306d9ce50b294584bb91e74;hb=795115bf680185ae01043bd1222b78bfed8c1d87;hp=4ef312d4f60b3630ad3d14e36ddc110296ed1cb3;hpb=67383d1a44dcee7e63fb278519f0fac97ff8f70c;p=NeonServV5.git diff --git a/IRCEvents.h b/IRCEvents.h index 4ef312d..e08803e 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); + +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); -int event_invite(struct UserNode *user, char *channel); + +typedef void invite_func_t(struct ClientSocket *client, struct UserNode *user, char *channel); +int bind_invite(invite_func_t *func); +void unbind_invite(invite_func_t *func); +int event_invite(struct ClientSocket *client, 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