annotate libpurple/protocols/yahoo/libymsg.h @ 28836:7b88cc6c3f7a

Cannot send a file to a federated user on yahoo.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Sun, 01 Nov 2009 02:56:44 +0000
parents 5f13e8a5c1a0
children d1cecbc467c6
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 */
5f13e8a5c1a0 Explicitly define the enum values like Paul wanted. Refs #9814.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 28733
diff changeset
141 YAHOO_FEDERATION_IBM = 9 /* IBM/Sametime network */
28733
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
142 } YahooFederation;
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
143
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
144
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
145 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
146 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
147 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
148 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
149 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
150 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
151 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
152 };
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 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
155 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
156 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
157 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
158 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
159 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
160 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
161 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
162 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
163 };
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 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
166
27531
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
167 typedef struct _YahooPersonalDetails {
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
168 char *id;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
169
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
170 struct {
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
171 char *first;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
172 char *last;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
173 char *middle;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
174 char *nick;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
175 } names;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
176
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
177 struct {
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
178 char *work;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
179 char *home;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
180 char *mobile;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
181 } phone;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
182 } YahooPersonalDetails;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
183
28025
908be3822215 Move from "struct yahoo_data" to "YahooData" to be consistent with other structs
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27678
diff changeset
184 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
185 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
186 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
187 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
188 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
189 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
190 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
191 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
192
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
193 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
194 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
195
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 * 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
198 * 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
199 * 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
200 * 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
201 * 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
202 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
203 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
204
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
205 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
206 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
207 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
208 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
209 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
210 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
211 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
212 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
213 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
214 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
215 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
216 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
217 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
218 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
219 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
220 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
221 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
222 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
223 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
224 /* 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
225 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
226 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
227
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
228 /* 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
229 * 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
230 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
231 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
232
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
233 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
234
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 * 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
237 * 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
238 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
239 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
240 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
241 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
242
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 * 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
245 * 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
246 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
247 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
248 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
249 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
250 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
251 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
252 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
253 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
254 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
255 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
256 } 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
257
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
258 #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
259
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 * 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
262 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
263 * 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
264 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
265 * 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
266 * 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
267 * 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
268 * 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
269 * 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
270 * 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
271 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
272 #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
273 #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
274
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
275 /* 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
276 * 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
277 #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
278 (*(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
279 (*((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
280 2)
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
281 #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
282 #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
283 (*((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
284 (*((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
285 (*((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
286 (*((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
287 4)
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
288 #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
289 (((*((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
290 (((*((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
291 (((*((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
292
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
293 /* 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
294 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
295 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
296 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
297
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 * 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
300 * 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
301 * 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
302 *
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
303 * 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
304 * 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
305 *
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
306 * 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
307 * 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
308 * 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
309 * 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
310 *
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
311 * 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
312 * <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
313 * 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
314 * 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
315 * 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
316 * 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
317 */
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
318 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
319
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
320 gboolean
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
321 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
322
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 * 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
325 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
326 * @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
327 * @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
328 * @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
329 * 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
330 * 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
331 * @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
332 * 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
333 * @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
334 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
335 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
336
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 * 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
339 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
340 * @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
341 * @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
342 * @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
343 * @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
344 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
345 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
346
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
347 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
348
28836
7b88cc6c3f7a Cannot send a file to a federated user on yahoo.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 28734
diff changeset
349 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
350
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
351 /* 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
352 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
353
27400
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
354 /* 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
355 * 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
356 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
357 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
358 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
359 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
360 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
361 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
362 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
363 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
364 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
365 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
366 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
367 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
368 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
369 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
370 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
371 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
372 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
373 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
374 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
375 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
376 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
377 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
378 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
379
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
380 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
381 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
382
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
383 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
384 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
385 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
386 /* 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
387 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
388 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
389 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
390 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
391
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
392 /* 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
393 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
394
27400
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
395 #endif /* _LIBYMSG_H_ */