libpurple/protocols/irc/irc.h

Thu, 27 May 2021 20:25:24 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Thu, 27 May 2021 20:25:24 -0500
branch
release-2.x.y
changeset 40892
c00b451a1dd8
parent 38908
86e7c9ca0bcd
child 41332
770040cb6000
permissions
-rw-r--r--

Change the default irc server to libera.chat

This seems to make the most sense for users right now as many many channels have migrated away from freenode with many of them moving to libera.

Testing Done:
Compile only.

Reviewed at https://reviews.imfreedom.org/r/675/

6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
1 /**
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
2 * @file irc.h
13201
8c224ef70efa [gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents: 12210
diff changeset
3 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15516
diff changeset
4 * purple
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
5 *
32117
6d49fa9e996c Remove periodic WHO on IRC.
Ethan Blanton <elb@pidgin.im>
parents: 31929
diff changeset
6 * Copyright (C) 2003, 2012 Ethan Blanton <elb@pidgin.im>
13201
8c224ef70efa [gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents: 12210
diff changeset
7 *
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
8 * This program is free software; you can redistribute it and/or modify
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
11 * (at your option) any later version.
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
12 *
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
13 * This program is distributed in the hope that it will be useful,
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
16 * GNU General Public License for more details.
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
17 *
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
19 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16993
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
21 */
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
22
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15516
diff changeset
23 #ifndef _PURPLE_IRC_H
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15516
diff changeset
24 #define _PURPLE_IRC_H
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
25
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
26 #include <glib.h>
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
27
33404
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
28 #ifdef HAVE_CYRUS_SASL
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
29 #include <sasl/sasl.h>
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
30 #endif
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
31
14013
86dac5633bd9 [gaim-migrate @ 16496]
Mark Doliner <markdoliner@pidgin.im>
parents: 13943
diff changeset
32 #include "circbuffer.h"
12143
09f216663302 [gaim-migrate @ 14444]
Evan Schoenberg <evands@pidgin.im>
parents: 12013
diff changeset
33 #include "ft.h"
8114
201c03cf6c5f [gaim-migrate @ 8818]
Tim Ringenbach <marv@pidgin.im>
parents: 7877
diff changeset
34 #include "roomlist.h"
10365
5b329161c730 [gaim-migrate @ 11583]
Daniel Atallah <datallah@pidgin.im>
parents: 10208
diff changeset
35 #include "sslconn.h"
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
36
40892
c00b451a1dd8 Change the default irc server to libera.chat
Gary Kramlich <grim@reaperworld.com>
parents: 38908
diff changeset
37 #define IRC_DEFAULT_SERVER "irc.libera.chat"
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
38 #define IRC_DEFAULT_PORT 6667
10365
5b329161c730 [gaim-migrate @ 11583]
Daniel Atallah <datallah@pidgin.im>
parents: 10208
diff changeset
39 #define IRC_DEFAULT_SSL_PORT 994
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
40
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
41 #define IRC_DEFAULT_CHARSET "UTF-8"
23906
6962e96ddd38 This adds an "auto-detect UTF-8" option to IRC which, when enabled,
Ethan Blanton <elb@pidgin.im>
parents: 23895
diff changeset
42 #define IRC_DEFAULT_AUTODETECT FALSE
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15516
diff changeset
43 #define IRC_DEFAULT_ALIAS "purple"
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
44
11763
1470108bf1ac [gaim-migrate @ 14054]
Will Thompson <resiak@pidgin.im>
parents: 11073
diff changeset
45 #define IRC_DEFAULT_QUIT "Leaving."
11073
e4f03d4a4dca [gaim-migrate @ 13082]
Lalo Martins
parents: 10712
diff changeset
46
38758
5ef4de93fc90 fixes to IRC buffer handling
Shivaram Lingamneni <slingamn@cs.stanford.edu>
parents: 37954
diff changeset
47 #define IRC_BUFSIZE_INCREMENT 1024
5ef4de93fc90 fixes to IRC buffer handling
Shivaram Lingamneni <slingamn@cs.stanford.edu>
parents: 37954
diff changeset
48 #define IRC_MAX_BUFSIZE 16384
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
49
37954
b76dd48063d6 Fix issue #4753 with IRC message truncation
Senya <senya@riseup.net>
parents: 35182
diff changeset
50 #define IRC_MAX_MSG_SIZE 512
b76dd48063d6 Fix issue #4753 with IRC message truncation
Senya <senya@riseup.net>
parents: 35182
diff changeset
51
15516
07e9a078cc06 This makes IRC /names handling generally more robust, as well as
Ethan Blanton <elb@pidgin.im>
parents: 15508
diff changeset
52 #define IRC_NAMES_FLAG "irc-namelist"
07e9a078cc06 This makes IRC /names handling generally more robust, as well as
Ethan Blanton <elb@pidgin.im>
parents: 15508
diff changeset
53
8351
216d9836e839 [gaim-migrate @ 9075]
Tim Ringenbach <marv@pidgin.im>
parents: 8114
diff changeset
54
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
55 enum { IRC_USEROPT_SERVER, IRC_USEROPT_PORT, IRC_USEROPT_CHARSET };
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
56 enum irc_state { IRC_STATE_NEW, IRC_STATE_ESTABLISHED };
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
57
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
58 struct irc_conn {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15516
diff changeset
59 PurpleAccount *account;
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
60 GHashTable *msgs;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
61 GHashTable *cmds;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
62 char *server;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
63 int fd;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
64 guint timer;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
65 GHashTable *buddies;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
66
21736
8de85200908d applied changes from 5dc4cf40c038206bcf06fe7407e1e308b0264e32
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20217
diff changeset
67 gboolean ison_outstanding;
31284
893f2d78d438 Prevent sending ISON messages larger than 512 bytes. Fixes #9692.
Jeffrey Honig <jch@honig.net>
parents: 28118
diff changeset
68 GList *buddies_outstanding;
21736
8de85200908d applied changes from 5dc4cf40c038206bcf06fe7407e1e308b0264e32
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20217
diff changeset
69
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
70 char *inbuf;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
71 int inbuflen;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
72 int inbufused;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
73
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
74 GString *motd;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
75 GString *names;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
76 struct _whois {
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
77 char *nick;
35182
639ec03ba1ba Improve IRC whois command
Andy Spencer <andy753421@gmail.com>
parents: 33544
diff changeset
78 char *real;
639ec03ba1ba Improve IRC whois command
Andy Spencer <andy753421@gmail.com>
parents: 33544
diff changeset
79 char *login;
639ec03ba1ba Improve IRC whois command
Andy Spencer <andy753421@gmail.com>
parents: 33544
diff changeset
80 char *ident;
639ec03ba1ba Improve IRC whois command
Andy Spencer <andy753421@gmail.com>
parents: 33544
diff changeset
81 char *host;
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
82 char *away;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
83 char *server;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
84 char *serverinfo;
25703
5e04772797b3 applied changes from 0064869870b3507952491598f4d4b8d4a99fbc6b
Ethan Blanton <elb@pidgin.im>
parents: 24574
diff changeset
85 GString *channels;
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
86 int ircop;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
87 int identified;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
88 int idle;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
89 time_t signon;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
90 } whois;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15516
diff changeset
91 PurpleRoomlist *roomlist;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15516
diff changeset
92 PurpleSslConnection *gsc;
9440
4415b7348579 [gaim-migrate @ 10261]
Ethan Blanton <elb@pidgin.im>
parents: 9248
diff changeset
93
4415b7348579 [gaim-migrate @ 10261]
Ethan Blanton <elb@pidgin.im>
parents: 9248
diff changeset
94 gboolean quitting;
13201
8c224ef70efa [gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents: 12210
diff changeset
95
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15516
diff changeset
96 PurpleCircBuffer *outbuf;
13201
8c224ef70efa [gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents: 12210
diff changeset
97 guint writeh;
14544
847944da3ca0 [gaim-migrate @ 17201]
Daniel Atallah <datallah@pidgin.im>
parents: 14324
diff changeset
98
847944da3ca0 [gaim-migrate @ 17201]
Daniel Atallah <datallah@pidgin.im>
parents: 14324
diff changeset
99 time_t recv_time;
16167
8536102557ba Make non-standard mode characters support connection-specific instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15884
diff changeset
100
8536102557ba Make non-standard mode characters support connection-specific instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15884
diff changeset
101 char *mode_chars;
23118
7ba846a8187f Fix irc nick collision handling, as requested by that demanding user elb.
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22798
diff changeset
102 char *reqnick;
7ba846a8187f Fix irc nick collision handling, as requested by that demanding user elb.
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22798
diff changeset
103 gboolean nickused;
33404
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
104 #ifdef HAVE_CYRUS_SASL
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
105 sasl_conn_t *sasl_conn;
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
106 const char *current_mech;
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
107 GString *sasl_mechs;
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
108 gboolean mech_works;
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
109 sasl_callback_t *sasl_cb;
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
110 #endif
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
111 };
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
112
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
113 struct irc_buddy {
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
114 char *name;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
115 gboolean online;
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
116 gboolean flag;
31284
893f2d78d438 Prevent sending ISON messages larger than 512 bytes. Fixes #9692.
Jeffrey Honig <jch@honig.net>
parents: 28118
diff changeset
117 gboolean new_online_status;
28118
ba26e203a9ca irc: Handle a buddy appearing in multiple groups properly.
Paul Aurich <darkrain42@pidgin.im>
parents: 25703
diff changeset
118 int ref;
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
119 };
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
120
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
121 typedef int (*IRCCmdCallback) (struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
122
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
123 int irc_send(struct irc_conn *irc, const char *buf);
31929
3c1f2bba1933 Fix races between irc_send_raw() and normal prpl-internal sends.
Ethan Blanton <elb@pidgin.im>
parents: 31565
diff changeset
124 int irc_send_len(struct irc_conn *irc, const char *buf, int len);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
125 gboolean irc_blist_timeout(struct irc_conn *irc);
31565
1138b2c998ec propagate from branch 'im.pidgin.pidgin' (head e131c2da768d5bd01e4bcb33b488a43ffd378208)
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31451
diff changeset
126 gboolean irc_who_channel_timeout(struct irc_conn *irc);
31284
893f2d78d438 Prevent sending ISON messages larger than 512 bytes. Fixes #9692.
Jeffrey Honig <jch@honig.net>
parents: 28118
diff changeset
127 void irc_buddy_query(struct irc_conn *irc);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
128
20217
9249f67ef61e applied changes from 6c08c628ee64e16c824829c25befc0ca09338f9d
Luke Schierer <lschiere@pidgin.im>
parents: 19859
diff changeset
129 char *irc_escape_privmsg(const char *text, gssize length);
9249f67ef61e applied changes from 6c08c628ee64e16c824829c25befc0ca09338f9d
Luke Schierer <lschiere@pidgin.im>
parents: 19859
diff changeset
130
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
131 char *irc_mirc2html(const char *string);
8529
a598c585c575 [gaim-migrate @ 9268]
Ethan Blanton <elb@pidgin.im>
parents: 8351
diff changeset
132 char *irc_mirc2txt(const char *string);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
133
24574
4ee71b4f335f Strip multiple leading mode characters from incoming nicknames.
Marcos García Ochoa <magao@bigfoot.com>
parents: 23906
diff changeset
134 const char *irc_nick_skip_mode(struct irc_conn *irc, const char *string);
4ee71b4f335f Strip multiple leading mode characters from incoming nicknames.
Marcos García Ochoa <magao@bigfoot.com>
parents: 23906
diff changeset
135
10208
b6cafee18b0d [gaim-migrate @ 11330]
Ethan Blanton <elb@pidgin.im>
parents: 9466
diff changeset
136 gboolean irc_ischannel(const char *string);
b6cafee18b0d [gaim-migrate @ 11330]
Ethan Blanton <elb@pidgin.im>
parents: 9466
diff changeset
137
9130
2e67295dd047 [gaim-migrate @ 9908]
Nathan Walp <nwalp@pidgin.im>
parents: 9030
diff changeset
138 void irc_register_commands(void);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
139 void irc_msg_table_build(struct irc_conn *irc);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
140 void irc_parse_msg(struct irc_conn *irc, char *input);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
141 char *irc_parse_ctcp(struct irc_conn *irc, const char *from, const char *to, const char *msg, int notice);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
142 char *irc_format(struct irc_conn *irc, const char *format, ...);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
143
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
144 void irc_msg_default(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
145 void irc_msg_away(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
146 void irc_msg_badmode(struct irc_conn *irc, const char *name, const char *from, char **args);
10633
ac455de21138 [gaim-migrate @ 12113]
Ethan Blanton <elb@pidgin.im>
parents: 10564
diff changeset
147 void irc_msg_badnick(struct irc_conn *irc, const char *name, const char *from, char **args);
22798
a501b4137c64 Handle IRC ban lists in-channel. Channels which are not joined are
Ethan Blanton <elb@pidgin.im>
parents: 21736
diff changeset
148 void irc_msg_ban(struct irc_conn *irc, const char *name, const char *from, char **args);
10659
caf16376fba0 [gaim-migrate @ 12192]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10633
diff changeset
149 void irc_msg_banfull(struct irc_conn *irc, const char *name, const char *from, char **args);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
150 void irc_msg_banned(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
151 void irc_msg_chanmode(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
152 void irc_msg_endwhois(struct irc_conn *irc, const char *name, const char *from, char **args);
15501
8547fa591578 Recognize non-standard mode characters communicated in an 005 numeric for IRC
Ethan Blanton <elb@pidgin.im>
parents: 15435
diff changeset
153 void irc_msg_features(struct irc_conn *irc, const char *name, const char *from, char **args);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
154 void irc_msg_invite(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
155 void irc_msg_inviteonly(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
156 void irc_msg_ison(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
157 void irc_msg_join(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
158 void irc_msg_kick(struct irc_conn *irc, const char *name, const char *from, char **args);
8114
201c03cf6c5f [gaim-migrate @ 8818]
Tim Ringenbach <marv@pidgin.im>
parents: 7877
diff changeset
159 void irc_msg_list(struct irc_conn *irc, const char *name, const char *from, char **args);
15508
51a669b06193 This should fix up IRC logins for servers which do not provide an
Ethan Blanton <elb@pidgin.im>
parents: 15501
diff changeset
160 void irc_msg_luser(struct irc_conn *irc, const char *name, const char *from, char **args);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
161 void irc_msg_mode(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
162 void irc_msg_motd(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
163 void irc_msg_names(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
164 void irc_msg_nick(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
165 void irc_msg_nickused(struct irc_conn *irc, const char *name, const char *from, char **args);
7877
e523a7081aaf [gaim-migrate @ 8531]
Ethan Blanton <elb@pidgin.im>
parents: 6718
diff changeset
166 void irc_msg_nochan(struct irc_conn *irc, const char *name, const char *from, char **args);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
167 void irc_msg_nonick(struct irc_conn *irc, const char *name, const char *from, char **args);
6718
c535c7b09353 [gaim-migrate @ 7245]
Ethan Blanton <elb@pidgin.im>
parents: 6714
diff changeset
168 void irc_msg_nochangenick(struct irc_conn *irc, const char *name, const char *from, char **args);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
169 void irc_msg_nosend(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
170 void irc_msg_notice(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
171 void irc_msg_notinchan(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
172 void irc_msg_notop(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
173 void irc_msg_part(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
174 void irc_msg_ping(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
175 void irc_msg_pong(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
176 void irc_msg_privmsg(struct irc_conn *irc, const char *name, const char *from, char **args);
16993
536c1485c139 Handle channel joins when registration is required more gracefully.
Ethan Blanton <elb@pidgin.im>
parents: 16474
diff changeset
177 void irc_msg_quit(struct irc_conn *irc, const char *name, const char *from, char **args);
6714
414a52265486 [gaim-migrate @ 7240]
Ethan Blanton <elb@pidgin.im>
parents: 6415
diff changeset
178 void irc_msg_regonly(struct irc_conn *irc, const char *name, const char *from, char **args);
10564
1ee5ae99711d [gaim-migrate @ 11946]
Don Seiler <rizzo@gentoo.org>
parents: 10365
diff changeset
179 void irc_msg_time(struct irc_conn *irc, const char *name, const char *from, char **args);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
180 void irc_msg_topic(struct irc_conn *irc, const char *name, const char *from, char **args);
33544
3780e4cb9738 Print topic setter information at channel join.
Ethan Blanton <elb@pidgin.im>
parents: 33404
diff changeset
181 void irc_msg_topicinfo(struct irc_conn *irc, const char *name, const char *from, char **args);
10712
2aded9e9abd4 [gaim-migrate @ 12306]
Richard Laager <rlaager@pidgin.im>
parents: 10659
diff changeset
182 void irc_msg_unavailable(struct irc_conn *irc, const char *name, const char *from, char **args);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
183 void irc_msg_unknown(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
184 void irc_msg_wallops(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
185 void irc_msg_whois(struct irc_conn *irc, const char *name, const char *from, char **args);
31565
1138b2c998ec propagate from branch 'im.pidgin.pidgin' (head e131c2da768d5bd01e4bcb33b488a43ffd378208)
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31451
diff changeset
186 void irc_msg_who(struct irc_conn *irc, const char *name, const char *from, char **args);
33404
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
187 #ifdef HAVE_CYRUS_SASL
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
188 void irc_msg_cap(struct irc_conn *irc, const char *name, const char *from, char **args);
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
189 void irc_msg_auth(struct irc_conn *irc, char *arg);
38908
86e7c9ca0bcd irc: handle AUTHENTICATE as a normal command with server prefix
dx <dx@dxzone.com.ar>
parents: 38758
diff changeset
190 void irc_msg_authenticate(struct irc_conn *irc, const char *name, const char *from, char **args);
33404
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
191 void irc_msg_authok(struct irc_conn *irc, const char *name, const char *from, char **args);
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
192 void irc_msg_authtryagain(struct irc_conn *irc, const char *name, const char *from, char **args);
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
193 void irc_msg_authfail(struct irc_conn *irc, const char *name, const char *from, char **args);
bbd52f93184e Implement SASL support for IRC, using Cyrus.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 32117
diff changeset
194 #endif
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
195
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
196 void irc_msg_ignore(struct irc_conn *irc, const char *name, const char *from, char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
197
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
198 void irc_cmd_table_build(struct irc_conn *irc);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
199
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
200 int irc_cmd_default(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
201 int irc_cmd_away(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
23895
4d883627111f /ctcp command for IRC
Vladislav Guberinic <neosisani@gmail.com>
parents: 23118
diff changeset
202 int irc_cmd_ctcp(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
203 int irc_cmd_ctcp_action(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
13943
79a311d7a211 [gaim-migrate @ 16361]
Ethan Blanton <elb@pidgin.im>
parents: 13201
diff changeset
204 int irc_cmd_ctcp_version(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
205 int irc_cmd_invite(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
206 int irc_cmd_join(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
207 int irc_cmd_kick(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
8114
201c03cf6c5f [gaim-migrate @ 8818]
Tim Ringenbach <marv@pidgin.im>
parents: 7877
diff changeset
208 int irc_cmd_list(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
209 int irc_cmd_mode(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
210 int irc_cmd_names(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
211 int irc_cmd_nick(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
212 int irc_cmd_op(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
213 int irc_cmd_privmsg(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
214 int irc_cmd_part(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
215 int irc_cmd_ping(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
216 int irc_cmd_quit(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
217 int irc_cmd_quote(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
218 int irc_cmd_query(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
219 int irc_cmd_remove(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
12210
d7e2c9f73e16 [gaim-migrate @ 14512]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12143
diff changeset
220 int irc_cmd_service(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
10564
1ee5ae99711d [gaim-migrate @ 11946]
Don Seiler <rizzo@gentoo.org>
parents: 10365
diff changeset
221 int irc_cmd_time(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
222 int irc_cmd_topic(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
223 int irc_cmd_wallops(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
224 int irc_cmd_whois(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
16474
bc8580a69dba /whowas for IRC. Thanks, achris.
Ethan Blanton <elb@pidgin.im>
parents: 16167
diff changeset
225 int irc_cmd_whowas(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
6333
551f4a5b3c33 [gaim-migrate @ 6832]
Robert McQueen <robot101@debian.org>
parents:
diff changeset
226
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15516
diff changeset
227 PurpleXfer *irc_dccsend_new_xfer(PurpleConnection *gc, const char *who);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15516
diff changeset
228 void irc_dccsend_send_file(PurpleConnection *gc, const char *who, const char *file);
8351
216d9836e839 [gaim-migrate @ 9075]
Tim Ringenbach <marv@pidgin.im>
parents: 8114
diff changeset
229 void irc_dccsend_recv(struct irc_conn *irc, const char *from, const char *msg);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15516
diff changeset
230 #endif /* _PURPLE_IRC_H */

mercurial