annotate libpurple/protocols/yahoo/libymsg.h @ 29394:d1cecbc467c6

Support Yahoo !PingBox. Includes a couple warning fixes. Fixes #7347. committer: John Bailey <rekkanoryo@rekkanoryo.org>
author kartikmohta@gmail.com
date Tue, 09 Feb 2010 06:19:49 +0000
parents 7b88cc6c3f7a
children c4fe6afad87a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
1 /**
27395
ef5f0cde8d74 Update for file renames.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27394
diff changeset
2 * @file libymsg.h The Yahoo! and Yahoo! JAPAN Protocol Plugins
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
3 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
4 * purple
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
5 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
6 * Purple is the legal property of its developers, whose names are too numerous
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
7 * to list here. Please refer to the COPYRIGHT file distributed with this
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
8 * source distribution.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
9 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
10 * This program is free software; you can redistribute it and/or modify
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
11 * it under the terms of the GNU General Public License as published by
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
13 * (at your option) any later version.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
14 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
15 * This program is distributed in the hope that it will be useful,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
18 * GNU General Public License for more details.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
19 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
20 * You should have received a copy of the GNU General Public License
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
21 * along with this program; if not, write to the Free Software
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
23 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
24
27400
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
25 #ifndef _LIBYMSG_H_
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
26 #define _LIBYMSG_H_
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
27
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
28 #include "circbuffer.h"
27400
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
29 #include "cmds.h"
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
30 #include "prpl.h"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
31
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
32 #define YAHOO_PAGER_HOST "scsa.msg.yahoo.com"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
33 #define YAHOO_PAGER_PORT 5050
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
34 #define YAHOO_PAGER_PORT_P2P 5101
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
35 #define YAHOO_LOGIN_URL "https://login.yahoo.com/config/pwtoken_login?src=ymsgr&ts=&token=%s"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
36 #define YAHOO_TOKEN_URL "https://login.yahoo.com/config/pwtoken_get?src=ymsgr&ts=&login=%s&passwd=%s&chal=%s"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
37 #define YAHOO_P2P_KEEPALIVE_SECS 300
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
38 #define YAHOO_P2P_SERVER_TIMEOUT 10
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
39 #define YAHOO_PROFILE_URL "http://profiles.yahoo.com/"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
40 #define YAHOO_MAIL_URL "http://rd.yahoo.com/messenger/client/?http://mail.yahoo.com/"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
41 #define YAHOO_XFER_HOST "filetransfer.msg.yahoo.com"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
42 #define YAHOO_XFER_PORT 80
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
43 #define YAHOO_XFER_RELAY_HOST "relay.msg.yahoo.com"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
44 #define YAHOO_XFER_RELAY_PORT 80
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
45 #define YAHOO_ROOMLIST_URL "http://insider.msg.yahoo.com/ycontent/"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
46 #define YAHOO_ROOMLIST_LOCALE "us"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
47 /* really we should get the list of servers from
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
48 http://update.messenger.yahoo.co.jp/servers.html */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
49 #define YAHOOJP_PAGER_HOST "cs.yahoo.co.jp"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
50 #define YAHOOJP_TOKEN_URL "https://login.yahoo.co.jp/config/pwtoken_get?src=ymsgr&ts=&login=%s&passwd=%s&chal=%s"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
51 #define YAHOOJP_LOGIN_URL "https://login.yahoo.co.jp/config/pwtoken_login?src=ymsgr&ts=&token=%s"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
52 #define YAHOOJP_PROFILE_URL "http://profiles.yahoo.co.jp/"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
53 #define YAHOOJP_MAIL_URL "http://mail.yahoo.co.jp/"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
54 #define YAHOOJP_XFER_HOST "filetransfer.msg.yahoo.co.jp"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
55 #define YAHOOJP_WEBCAM_HOST "wc.yahoo.co.jp"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
56 /* not sure, must test: */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
57 #define YAHOOJP_XFER_RELAY_HOST "relay.msg.yahoo.co.jp"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
58 #define YAHOOJP_XFER_RELAY_PORT 80
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
59 #define YAHOOJP_ROOMLIST_URL "http://insider.msg.yahoo.co.jp/ycontent/"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
60 #define YAHOOJP_ROOMLIST_LOCALE "ja"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
61
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
62 #define YAHOO_AUDIBLE_URL "http://us.dl1.yimg.com/download.yahoo.com/dl/aud"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
63
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
64 #define WEBMESSENGER_URL "http://login.yahoo.com/config/login?.src=pg"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
65
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
66 #define YAHOO_SMS_CARRIER_URL "http://lookup.msg.vip.mud.yahoo.com"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
67
27531
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
68 #define YAHOO_USERINFO_URL "http://address.yahoo.com/yab/us?v=XM&sync=1&tags=short&useutf8=1&noclear=1&legenc=codepage-1252"
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
69 #define YAHOOJP_USERINFO_URL "http://address.yahoo.co.jp/yab/jp?v=XM&sync=1&tags=short&useutf8=1&noclear=1&legenc=codepage-1252"
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
70
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
71 #define YAHOO_PICURL_SETTING "picture_url"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
72 #define YAHOO_PICCKSUM_SETTING "picture_checksum"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
73 #define YAHOO_PICEXPIRE_SETTING "picture_expire"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
74
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
75 #define YAHOO_STATUS_TYPE_OFFLINE "offline"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
76 #define YAHOO_STATUS_TYPE_AVAILABLE "available"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
77 #define YAHOO_STATUS_TYPE_BRB "brb"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
78 #define YAHOO_STATUS_TYPE_BUSY "busy"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
79 #define YAHOO_STATUS_TYPE_NOTATHOME "notathome"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
80 #define YAHOO_STATUS_TYPE_NOTATDESK "notatdesk"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
81 #define YAHOO_STATUS_TYPE_NOTINOFFICE "notinoffice"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
82 #define YAHOO_STATUS_TYPE_ONPHONE "onphone"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
83 #define YAHOO_STATUS_TYPE_ONVACATION "onvacation"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
84 #define YAHOO_STATUS_TYPE_OUTTOLUNCH "outtolunch"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
85 #define YAHOO_STATUS_TYPE_STEPPEDOUT "steppedout"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
86 #define YAHOO_STATUS_TYPE_AWAY "away"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
87 #define YAHOO_STATUS_TYPE_INVISIBLE "invisible"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
88 #define YAHOO_STATUS_TYPE_MOBILE "mobile"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
89
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
90 #define YAHOO_CLIENT_VERSION_ID "4194239"
27678
faf80efd10a9 We were actually identifying as a version of Yahoo Messenger that doesn't
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27531
diff changeset
91 #define YAHOO_CLIENT_VERSION "9.0.0.2162"
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
92
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
93 #define YAHOOJP_CLIENT_VERSION_ID "4194239"
27678
faf80efd10a9 We were actually identifying as a version of Yahoo Messenger that doesn't
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27531
diff changeset
94 #define YAHOOJP_CLIENT_VERSION "9.0.0.2162"
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
95
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
96 #define YAHOO_CLIENT_USERAGENT "Mozilla/5.0"
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
97
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
98 /* Index into attention types list. */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
99 #define YAHOO_BUZZ 0
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
100
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
101 typedef enum {
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
102 YAHOO_PKT_TYPE_SERVER = 0,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
103 YAHOO_PKT_TYPE_P2P
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
104 } yahoo_pkt_type;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
105
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
106 typedef enum {
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
107 YAHOO_P2P_WE_ARE_CLIENT =0,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
108 YAHOO_P2P_WE_ARE_SERVER
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
109 } yahoo_p2p_connection_type;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
110
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
111 enum yahoo_status {
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
112 YAHOO_STATUS_AVAILABLE = 0,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
113 YAHOO_STATUS_BRB,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
114 YAHOO_STATUS_BUSY,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
115 YAHOO_STATUS_NOTATHOME,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
116 YAHOO_STATUS_NOTATDESK,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
117 YAHOO_STATUS_NOTINOFFICE,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
118 YAHOO_STATUS_ONPHONE,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
119 YAHOO_STATUS_ONVACATION,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
120 YAHOO_STATUS_OUTTOLUNCH,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
121 YAHOO_STATUS_STEPPEDOUT,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
122 YAHOO_STATUS_INVISIBLE = 12,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
123 YAHOO_STATUS_CUSTOM = 99,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
124 YAHOO_STATUS_IDLE = 999,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
125 YAHOO_STATUS_WEBLOGIN = 0x5a55aa55,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
126 YAHOO_STATUS_OFFLINE = 0x5a55aa56, /* don't ask */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
127 YAHOO_STATUS_TYPING = 0x16,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
128 YAHOO_STATUS_DISCONNECTED = 0xffffffff /* in ymsg 15. doesnt mean the normal sense of 'disconnected' */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
129 };
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
130
28733
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
131 /*
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
132 * Yahoo federated networks. Key 241 in ymsg.
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
133 * If it doesn't exist, it is on Yahoo's netowrk.
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
134 * It if does exist, send to another IM network.
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
135 */
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
136
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
137 typedef enum {
28734
5f13e8a5c1a0 Explicitly define the enum values like Paul wanted. Refs #9814.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 28733
diff changeset
138 YAHOO_FEDERATION_NONE = 0, /* No federation - Yahoo! network */
5f13e8a5c1a0 Explicitly define the enum values like Paul wanted. Refs #9814.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 28733
diff changeset
139 YAHOO_FEDERATION_OCS = 1, /* LCS or OCS private networks */
5f13e8a5c1a0 Explicitly define the enum values like Paul wanted. Refs #9814.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 28733
diff changeset
140 YAHOO_FEDERATION_MSN = 2, /* MSN or Windows Live network */
29394
d1cecbc467c6 Support Yahoo !PingBox. Includes a couple warning fixes. Fixes #7347.
kartikmohta@gmail.com
parents: 28836
diff changeset
141 YAHOO_FEDERATION_IBM = 9, /* IBM/Sametime network */
d1cecbc467c6 Support Yahoo !PingBox. Includes a couple warning fixes. Fixes #7347.
kartikmohta@gmail.com
parents: 28836
diff changeset
142 YAHOO_FEDERATION_PBX = 100 /* Yahoo! Pingbox service */
28733
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
143 } YahooFederation;
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
144
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
145
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
146 struct yahoo_buddy_icon_upload_data {
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
147 PurpleConnection *gc;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
148 GString *str;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
149 char *filename;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
150 int pos;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
151 int fd;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
152 guint watcher;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
153 };
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
154
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
155 struct yahoo_p2p_data {
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
156 PurpleConnection *gc;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
157 char *host_ip;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
158 char *host_username;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
159 int val_13;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
160 guint input_event;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
161 gint source;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
162 int session_id;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
163 yahoo_p2p_connection_type connection_type;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
164 };
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
165
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
166 struct _YchtConn;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
167
27531
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
168 typedef struct _YahooPersonalDetails {
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
169 char *id;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
170
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
171 struct {
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
172 char *first;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
173 char *last;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
174 char *middle;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
175 char *nick;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
176 } names;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
177
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
178 struct {
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
179 char *work;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
180 char *home;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
181 char *mobile;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
182 } phone;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
183 } YahooPersonalDetails;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
184
28025
908be3822215 Move from "struct yahoo_data" to "YahooData" to be consistent with other structs
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27678
diff changeset
185 typedef struct {
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
186 PurpleConnection *gc;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
187 int fd;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
188 guchar *rxqueue;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
189 int rxlen;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
190 PurpleCircBuffer *txbuf;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
191 guint txhandler;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
192 GHashTable *friends;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
193
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
194 char **profiles; /* Multiple profiles can be associated with an account */
27531
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
195 YahooPersonalDetails ypd;
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
196
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
197 /**
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
198 * This is used to keep track of the IMVironment chosen
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
199 * by people you talk to. We don't do very much with
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
200 * this right now... but at least now if the remote user
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
201 * selects an IMVironment we won't reset it back to the
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
202 * default of nothing.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
203 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
204 GHashTable *imvironments;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
205
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
206 int current_status;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
207 gboolean logged_in;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
208 GString *tmp_serv_blist, *tmp_serv_ilist, *tmp_serv_plist;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
209 GSList *confs;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
210 unsigned int conf_id; /* just a counter */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
211 gboolean chat_online;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
212 gboolean in_chat;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
213 char *chat_name;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
214 char *pending_chat_room;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
215 char *pending_chat_id;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
216 char *pending_chat_topic;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
217 char *pending_chat_goto;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
218 char *auth;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
219 gsize auth_written;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
220 char *cookie_y;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
221 char *cookie_t;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
222 int session_id;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
223 gboolean jp;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
224 gboolean wm; /* connected w/ web messenger method */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
225 /* picture aka buddy icon stuff */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
226 char *picture_url;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
227 int picture_checksum;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
228
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
229 /* ew. we have to check the icon before we connect,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
230 * but can't upload it til we're connected. */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
231 struct yahoo_buddy_icon_upload_data *picture_upload_todo;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
232 PurpleProxyConnectData *buddy_icon_connect_data;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
233
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
234 struct _YchtConn *ycht;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
235
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
236 /**
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
237 * This linked list contains PurpleUtilFetchUrlData structs
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
238 * for when we lookup people profile or photo information.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
239 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
240 GSList *url_datas;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
241 GHashTable *xfer_peer_idstring_map;/* Hey, i dont know, but putting this HashTable next to friends gives a run time fault... */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
242 GSList *cookies;/* contains all cookies, including _y and _t */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
243
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
244 /**
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
245 * We may receive a list15 in multiple packets with no prior warning as to how many we'll be getting;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
246 * the server expects us to keep track of the group for which it is sending us contact names.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
247 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
248 char *current_list15_grp;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
249 time_t last_ping;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
250 time_t last_keepalive;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
251 GHashTable *peers; /* information about p2p data */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
252 int yahoo_p2p_timer;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
253 int yahoo_local_p2p_server_fd;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
254 int yahoo_p2p_server_watcher;
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
255 GHashTable *sms_carrier; /* sms carrier data */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
256 guint yahoo_p2p_server_timeout_handle;
28025
908be3822215 Move from "struct yahoo_data" to "YahooData" to be consistent with other structs
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27678
diff changeset
257 } YahooData;
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
258
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
259 #define YAHOO_MAX_STATUS_MESSAGE_LENGTH (255)
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
260
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
261 /*
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
262 * Current Maximum Length for Instant Messages
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
263 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
264 * This was found by experiment.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
265 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
266 * The YMSG protocol allows a message of up to 948 bytes, but the official client
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
267 * limits to 800 characters. According to experiments I conducted, it seems that
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
268 * the discrepancy is to allow some leeway for messages with mixed single- and
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
269 * multi-byte characters, as I was able to send messages of 840 and 932 bytes
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
270 * by using some multibyte characters (some random Chinese or Japanese characters,
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
271 * to be precise). - rekkanoryo
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
272 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
273 #define YAHOO_MAX_MESSAGE_LENGTH_BYTES 948
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
274 #define YAHOO_MAX_MESSAGE_LENGTH_CHARS 800
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
275
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
276 /* sometimes i wish prpls could #include things from other prpls. then i could just
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
277 * use the routines from libfaim and not have to admit to knowing how they work. */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
278 #define yahoo_put16(buf, data) ( \
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
279 (*(buf) = (unsigned char)((data)>>8)&0xff), \
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
280 (*((buf)+1) = (unsigned char)(data)&0xff), \
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
281 2)
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
282 #define yahoo_get16(buf) ((((*(buf))<<8)&0xff00) + ((*((buf)+1)) & 0xff))
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
283 #define yahoo_put32(buf, data) ( \
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
284 (*((buf)) = (unsigned char)((data)>>24)&0xff), \
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
285 (*((buf)+1) = (unsigned char)((data)>>16)&0xff), \
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
286 (*((buf)+2) = (unsigned char)((data)>>8)&0xff), \
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
287 (*((buf)+3) = (unsigned char)(data)&0xff), \
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
288 4)
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
289 #define yahoo_get32(buf) ((((*(buf))<<24)&0xff000000) + \
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
290 (((*((buf)+1))<<16)&0x00ff0000) + \
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
291 (((*((buf)+2))<< 8)&0x0000ff00) + \
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
292 (((*((buf)+3) )&0x000000ff)))
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
293
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
294 /* util.c */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
295 void yahoo_init_colorht(void);
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
296 void yahoo_dest_colorht(void);
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
297 char *yahoo_codes_to_html(const char *x);
28362
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
298
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
299 /**
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
300 * This function takes a normal HTML message and converts it to the message
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
301 * format used by Yahoo, which uses a frankensteinish combination of ANSI
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
302 * escape codes and broken HTML.
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
303 *
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
304 * It results in slightly different output than would be sent by official
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
305 * Yahoo clients. The two main differences are:
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
306 *
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
307 * 1. We always close all tags, whereas official Yahoo clients leave tags
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
308 * dangling open at the end of each message (and the client treats them
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
309 * as closed).
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
310 * 2. We always close inner tags first before closing outter tags.
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
311 *
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
312 * For example, if you want to send this message:
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
313 * <b> bold <i> bolditalic </i></b><i> italic </i>
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
314 * Official Yahoo clients would send:
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
315 * ESC[1m bold ESC[2m bolditalic ESC[x1m italic
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
316 * But we will send:
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
317 * ESC[1m bold ESC[2m bolditalic ESC[x2mESC[x1mESC[2m italic ESC[x2m
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
318 */
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
319 char *yahoo_html_to_codes(const char *src);
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
320
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
321 gboolean
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
322 yahoo_account_use_http_proxy(PurpleConnection *conn);
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
323
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
324 /**
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
325 * Encode some text to send to the yahoo server.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
326 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
327 * @param gc The connection handle.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
328 * @param str The null terminated utf8 string to encode.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
329 * @param utf8 If not @c NULL, whether utf8 is okay or not.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
330 * Even if it is okay, we may not use it. If we
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
331 * used it, we set this to @c TRUE, else to
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
332 * @c FALSE. If @c NULL, false is assumed, and
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
333 * it is not dereferenced.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
334 * @return The g_malloced string in the appropriate encoding.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
335 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
336 char *yahoo_string_encode(PurpleConnection *gc, const char *str, gboolean *utf8);
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
337
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
338 /**
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
339 * Decode some text received from the server.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
340 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
341 * @param gc The gc handle.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
342 * @param str The null terminated string to decode.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
343 * @param utf8 Did the server tell us it was supposed to be utf8?
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
344 * @return The decoded, utf-8 string, which must be g_free()'d.
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
345 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
346 char *yahoo_string_decode(PurpleConnection *gc, const char *str, gboolean utf8);
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
347
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
348 char *yahoo_convert_to_numeric(const char *str);
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
349
28836
7b88cc6c3f7a Cannot send a file to a federated user on yahoo.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 28734
diff changeset
350 YahooFederation yahoo_get_federation_from_name(const char *who);
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
351
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
352 /* yahoo_profile.c */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
353 void yahoo_get_info(PurpleConnection *gc, const char *name);
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
354
27400
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
355 /* libymsg.h - these functions were formerly static but need not to be for the
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
356 * new two-prpl model. */
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
357 const char *yahoo_list_icon(PurpleAccount *a, PurpleBuddy *b);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
358 const char *yahoo_list_emblem(PurpleBuddy *b);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
359 char *yahoo_status_text(PurpleBuddy *b);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
360 void yahoo_tooltip_text(PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
361 GList *yahoo_status_types(PurpleAccount *account);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
362 GList *yahoo_blist_node_menu(PurpleBlistNode *node);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
363 void yahoo_login(PurpleAccount *account);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
364 void yahoo_close(PurpleConnection *gc);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
365 int yahoo_send_im(PurpleConnection *gc, const char *who, const char *what, PurpleMessageFlags flags);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
366 unsigned int yahoo_send_typing(PurpleConnection *gc, const char *who, PurpleTypingState state);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
367 void yahoo_set_status(PurpleAccount *account, PurpleStatus *status);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
368 void yahoo_set_idle(PurpleConnection *gc, int idle);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
369 void yahoo_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *g);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
370 void yahoo_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
371 void yahoo_add_deny(PurpleConnection *gc, const char *who);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
372 void yahoo_rem_deny(PurpleConnection *gc, const char *who);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
373 void yahoo_set_permit_deny(PurpleConnection *gc);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
374 void yahoo_keepalive(PurpleConnection *gc);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
375 void yahoo_change_buddys_group(PurpleConnection *gc, const char *who, const char *old_group, const char *new_group);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
376 void yahoo_rename_group(PurpleConnection *gc, const char *old_name, PurpleGroup *group, GList *moved_buddies);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
377 gboolean yahoo_offline_message(const PurpleBuddy *buddy);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
378 gboolean yahoo_send_attention(PurpleConnection *gc, const char *username, guint type);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
379 GList *yahoo_attention_types(PurpleAccount *account);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
380
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
381 GList *yahoo_actions(PurplePlugin *plugin, gpointer context);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
382 void yahoopurple_register_commands(void);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
383
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
384 PurpleCmdRet yahoopurple_cmd_buzz(PurpleConversation *c, const gchar *cmd, gchar **args, gchar **error, void *data);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
385 PurpleCmdRet yahoopurple_cmd_chat_join(PurpleConversation *conv, const char *cmd, char **args, char **error, void *data);
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
386 PurpleCmdRet yahoopurple_cmd_chat_list(PurpleConversation *conv, const char *cmd, char **args, char **error, void *data);
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
387 /* needed for xfer, thought theyd be useful for other enhancements later on
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
388 Returns list of cookies stored in yahoo_data formatted as a single null terminated string
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
389 returned value must be g_freed
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
390 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
391 gchar* yahoo_get_cookies(PurpleConnection *gc);
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
392
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
393 /* send p2p pkt containing our encoded ip, asking peer to connect to us */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
394 void yahoo_send_p2p_pkt(PurpleConnection *gc, const char *who, int val_13);
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
395
27400
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
396 #endif /* _LIBYMSG_H_ */