--- a/libpurple/protocols/irc/irc.h Sun Jan 13 14:51:04 2013 -0600 +++ b/libpurple/protocols/irc/irc.h Sun Jan 13 14:53:18 2013 -0600 @@ -25,6 +25,10 @@ #include <glib.h> +#ifdef HAVE_CYRUS_SASL +#include <sasl/sasl.h> +#endif + #include "circbuffer.h" #include "ft.h" #include "roomlist.h" @@ -93,6 +97,13 @@ char *mode_chars; char *reqnick; gboolean nickused; +#ifdef HAVE_CYRUS_SASL + sasl_conn_t *sasl_conn; + const char *current_mech; + GString *sasl_mechs; + gboolean mech_works; + sasl_callback_t *sasl_cb; +#endif }; struct irc_buddy { @@ -168,6 +179,13 @@ void irc_msg_wallops(struct irc_conn *irc, const char *name, const char *from, char **args); void irc_msg_whois(struct irc_conn *irc, const char *name, const char *from, char **args); void irc_msg_who(struct irc_conn *irc, const char *name, const char *from, char **args); +#ifdef HAVE_CYRUS_SASL +void irc_msg_cap(struct irc_conn *irc, const char *name, const char *from, char **args); +void irc_msg_auth(struct irc_conn *irc, char *arg); +void irc_msg_authok(struct irc_conn *irc, const char *name, const char *from, char **args); +void irc_msg_authtryagain(struct irc_conn *irc, const char *name, const char *from, char **args); +void irc_msg_authfail(struct irc_conn *irc, const char *name, const char *from, char **args); +#endif void irc_msg_ignore(struct irc_conn *irc, const char *name, const char *from, char **args);