1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/Frameworks/libpurple.framework/Versions/0.6.2/Headers/irc.h Fri Aug 21 13:25:11 2009 -0700
1.3 @@ -0,0 +1,198 @@
1.4 +/**
1.5 + * @file irc.h
1.6 + *
1.7 + * purple
1.8 + *
1.9 + * Copyright (C) 2003, Ethan Blanton <eblanton@cs.purdue.edu>
1.10 + *
1.11 + * This program is free software; you can redistribute it and/or modify
1.12 + * it under the terms of the GNU General Public License as published by
1.13 + * the Free Software Foundation; either version 2 of the License, or
1.14 + * (at your option) any later version.
1.15 + *
1.16 + * This program is distributed in the hope that it will be useful,
1.17 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
1.18 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1.19 + * GNU General Public License for more details.
1.20 + *
1.21 + * You should have received a copy of the GNU General Public License
1.22 + * along with this program; if not, write to the Free Software
1.23 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
1.24 + */
1.25 +
1.26 +#ifndef _PURPLE_IRC_H
1.27 +#define _PURPLE_IRC_H
1.28 +
1.29 +#include <glib.h>
1.30 +
1.31 +#include "circbuffer.h"
1.32 +#include "ft.h"
1.33 +#include "roomlist.h"
1.34 +#include "sslconn.h"
1.35 +
1.36 +#define IRC_DEFAULT_SERVER "irc.freenode.net"
1.37 +#define IRC_DEFAULT_PORT 6667
1.38 +#define IRC_DEFAULT_SSL_PORT 994
1.39 +
1.40 +#define IRC_DEFAULT_CHARSET "UTF-8"
1.41 +#define IRC_DEFAULT_AUTODETECT FALSE
1.42 +#define IRC_DEFAULT_ALIAS "purple"
1.43 +
1.44 +#define IRC_DEFAULT_QUIT "Leaving."
1.45 +
1.46 +#define IRC_INITIAL_BUFSIZE 1024
1.47 +
1.48 +#define IRC_NAMES_FLAG "irc-namelist"
1.49 +
1.50 +
1.51 +enum { IRC_USEROPT_SERVER, IRC_USEROPT_PORT, IRC_USEROPT_CHARSET };
1.52 +enum irc_state { IRC_STATE_NEW, IRC_STATE_ESTABLISHED };
1.53 +
1.54 +struct irc_conn {
1.55 + PurpleAccount *account;
1.56 + GHashTable *msgs;
1.57 + GHashTable *cmds;
1.58 + char *server;
1.59 + int fd;
1.60 + guint timer;
1.61 + GHashTable *buddies;
1.62 +
1.63 + gboolean ison_outstanding;
1.64 +
1.65 + char *inbuf;
1.66 + int inbuflen;
1.67 + int inbufused;
1.68 +
1.69 + GString *motd;
1.70 + GString *names;
1.71 + struct _whois {
1.72 + char *nick;
1.73 + char *away;
1.74 + char *userhost;
1.75 + char *name;
1.76 + char *server;
1.77 + char *serverinfo;
1.78 + char *channels;
1.79 + int ircop;
1.80 + int identified;
1.81 + int idle;
1.82 + time_t signon;
1.83 + } whois;
1.84 + PurpleRoomlist *roomlist;
1.85 + PurpleSslConnection *gsc;
1.86 +
1.87 + gboolean quitting;
1.88 +
1.89 + PurpleCircBuffer *outbuf;
1.90 + guint writeh;
1.91 +
1.92 + time_t recv_time;
1.93 +
1.94 + char *mode_chars;
1.95 + char *reqnick;
1.96 + gboolean nickused;
1.97 +};
1.98 +
1.99 +struct irc_buddy {
1.100 + char *name;
1.101 + gboolean online;
1.102 + gboolean flag;
1.103 +};
1.104 +
1.105 +typedef int (*IRCCmdCallback) (struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.106 +
1.107 +int irc_send(struct irc_conn *irc, const char *buf);
1.108 +gboolean irc_blist_timeout(struct irc_conn *irc);
1.109 +
1.110 +char *irc_escape_privmsg(const char *text, gssize length);
1.111 +
1.112 +char *irc_mirc2html(const char *string);
1.113 +char *irc_mirc2txt(const char *string);
1.114 +
1.115 +const char *irc_nick_skip_mode(struct irc_conn *irc, const char *string);
1.116 +
1.117 +gboolean irc_ischannel(const char *string);
1.118 +
1.119 +void irc_register_commands(void);
1.120 +void irc_msg_table_build(struct irc_conn *irc);
1.121 +void irc_parse_msg(struct irc_conn *irc, char *input);
1.122 +char *irc_parse_ctcp(struct irc_conn *irc, const char *from, const char *to, const char *msg, int notice);
1.123 +char *irc_format(struct irc_conn *irc, const char *format, ...);
1.124 +
1.125 +void irc_msg_default(struct irc_conn *irc, const char *name, const char *from, char **args);
1.126 +void irc_msg_away(struct irc_conn *irc, const char *name, const char *from, char **args);
1.127 +void irc_msg_badmode(struct irc_conn *irc, const char *name, const char *from, char **args);
1.128 +void irc_msg_badnick(struct irc_conn *irc, const char *name, const char *from, char **args);
1.129 +void irc_msg_ban(struct irc_conn *irc, const char *name, const char *from, char **args);
1.130 +void irc_msg_banfull(struct irc_conn *irc, const char *name, const char *from, char **args);
1.131 +void irc_msg_banned(struct irc_conn *irc, const char *name, const char *from, char **args);
1.132 +void irc_msg_chanmode(struct irc_conn *irc, const char *name, const char *from, char **args);
1.133 +void irc_msg_endwhois(struct irc_conn *irc, const char *name, const char *from, char **args);
1.134 +void irc_msg_features(struct irc_conn *irc, const char *name, const char *from, char **args);
1.135 +void irc_msg_invite(struct irc_conn *irc, const char *name, const char *from, char **args);
1.136 +void irc_msg_inviteonly(struct irc_conn *irc, const char *name, const char *from, char **args);
1.137 +void irc_msg_ison(struct irc_conn *irc, const char *name, const char *from, char **args);
1.138 +void irc_msg_join(struct irc_conn *irc, const char *name, const char *from, char **args);
1.139 +void irc_msg_kick(struct irc_conn *irc, const char *name, const char *from, char **args);
1.140 +void irc_msg_list(struct irc_conn *irc, const char *name, const char *from, char **args);
1.141 +void irc_msg_luser(struct irc_conn *irc, const char *name, const char *from, char **args);
1.142 +void irc_msg_mode(struct irc_conn *irc, const char *name, const char *from, char **args);
1.143 +void irc_msg_motd(struct irc_conn *irc, const char *name, const char *from, char **args);
1.144 +void irc_msg_names(struct irc_conn *irc, const char *name, const char *from, char **args);
1.145 +void irc_msg_nick(struct irc_conn *irc, const char *name, const char *from, char **args);
1.146 +void irc_msg_nickused(struct irc_conn *irc, const char *name, const char *from, char **args);
1.147 +void irc_msg_nochan(struct irc_conn *irc, const char *name, const char *from, char **args);
1.148 +void irc_msg_nonick(struct irc_conn *irc, const char *name, const char *from, char **args);
1.149 +void irc_msg_nochangenick(struct irc_conn *irc, const char *name, const char *from, char **args);
1.150 +void irc_msg_nosend(struct irc_conn *irc, const char *name, const char *from, char **args);
1.151 +void irc_msg_notice(struct irc_conn *irc, const char *name, const char *from, char **args);
1.152 +void irc_msg_notinchan(struct irc_conn *irc, const char *name, const char *from, char **args);
1.153 +void irc_msg_notop(struct irc_conn *irc, const char *name, const char *from, char **args);
1.154 +void irc_msg_part(struct irc_conn *irc, const char *name, const char *from, char **args);
1.155 +void irc_msg_ping(struct irc_conn *irc, const char *name, const char *from, char **args);
1.156 +void irc_msg_pong(struct irc_conn *irc, const char *name, const char *from, char **args);
1.157 +void irc_msg_privmsg(struct irc_conn *irc, const char *name, const char *from, char **args);
1.158 +void irc_msg_quit(struct irc_conn *irc, const char *name, const char *from, char **args);
1.159 +void irc_msg_regonly(struct irc_conn *irc, const char *name, const char *from, char **args);
1.160 +void irc_msg_time(struct irc_conn *irc, const char *name, const char *from, char **args);
1.161 +void irc_msg_topic(struct irc_conn *irc, const char *name, const char *from, char **args);
1.162 +void irc_msg_unavailable(struct irc_conn *irc, const char *name, const char *from, char **args);
1.163 +void irc_msg_unknown(struct irc_conn *irc, const char *name, const char *from, char **args);
1.164 +void irc_msg_wallops(struct irc_conn *irc, const char *name, const char *from, char **args);
1.165 +void irc_msg_whois(struct irc_conn *irc, const char *name, const char *from, char **args);
1.166 +
1.167 +void irc_msg_ignore(struct irc_conn *irc, const char *name, const char *from, char **args);
1.168 +
1.169 +void irc_cmd_table_build(struct irc_conn *irc);
1.170 +
1.171 +int irc_cmd_default(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.172 +int irc_cmd_away(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.173 +int irc_cmd_ctcp(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.174 +int irc_cmd_ctcp_action(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.175 +int irc_cmd_ctcp_version(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.176 +int irc_cmd_invite(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.177 +int irc_cmd_join(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.178 +int irc_cmd_kick(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.179 +int irc_cmd_list(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.180 +int irc_cmd_mode(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.181 +int irc_cmd_names(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.182 +int irc_cmd_nick(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.183 +int irc_cmd_op(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.184 +int irc_cmd_privmsg(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.185 +int irc_cmd_part(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.186 +int irc_cmd_ping(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.187 +int irc_cmd_quit(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.188 +int irc_cmd_quote(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.189 +int irc_cmd_query(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.190 +int irc_cmd_remove(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.191 +int irc_cmd_service(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.192 +int irc_cmd_time(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.193 +int irc_cmd_topic(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.194 +int irc_cmd_wallops(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.195 +int irc_cmd_whois(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.196 +int irc_cmd_whowas(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
1.197 +
1.198 +PurpleXfer *irc_dccsend_new_xfer(PurpleConnection *gc, const char *who);
1.199 +void irc_dccsend_send_file(PurpleConnection *gc, const char *who, const char *file);
1.200 +void irc_dccsend_recv(struct irc_conn *irc, const char *from, const char *msg);
1.201 +#endif /* _PURPLE_IRC_H */