annotate libpurple/protocols/yahoo/libymsg.h @ 32775:75daf132caf2

Yahoo: Move the "inpa" input watcher into protocol_data.
author andrew.victor@mxit.com
date Tue, 18 Oct 2011 21:39:25 +0000
parents cd1d9e04c587
children 4a34689eeb33
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"
31530
86598f5d7ebd Yahoo: Fix a crash that happens when the PurpleAccount disconnects after
hanzz@soc.pidgin.im
parents: 31022
diff changeset
31 #include "network.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
32
30072
60af53dd42d5 Ladies and gentlemen, I give you HTTP-based retrieval of the Yahoo CS server
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 30001
diff changeset
33 #define YAHOO_PAGER_HOST_REQ_URL "http://vcs1.msg.yahoo.com/capacity"
30607
e9001aa49be8 Very hackily implement a fallback mechanism in Yahoo, but not for Yahoo Japan
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 30098
diff changeset
34 #define YAHOO_PAGER_HOST_FALLBACK "scsa.msg.yahoo.com"
27394
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_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
36 #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
37 #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
38 #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
39 #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
40 #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
41 #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
42 #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
43 #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
44 #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
45 #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
46 #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
47 #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
48 #define YAHOO_ROOMLIST_LOCALE "us"
30074
957f57decf90 Don't need these defines anymore.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 30072
diff changeset
49
957f57decf90 Don't need these defines anymore.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 30072
diff changeset
50 /* Yahoo! JAPAN stuff */
32221
f33200f71cc3 Fix logging into Yahoo! JAPAN. Fixes #14259.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31530
diff changeset
51 #define YAHOOJP_PAGER_HOST_REQ_URL "http://cs1.yahoo.co.jp/capacity"
27394
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_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
53 #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
54 #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
55 #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
56 #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
57 #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
58 /* 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
59 #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
60 #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
61 #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
62 #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
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 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
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 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
67
31022
47ff9247b95a Fix SMS carrier URL per todo's advice. Fixes #12688.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 30607
diff changeset
68 #define YAHOO_SMS_CARRIER_URL "http://validate.msg.yahoo.com"
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
69
27531
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
70 #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
71 #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
72
27394
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_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
74 #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
75 #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
76
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_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
78 #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
79 #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
80 #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
81 #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
82 #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
83 #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
84 #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
85 #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
86 #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
87 #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
88 #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
89 #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
90 #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
91
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
92 #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
93 #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
94
30001
bfaf039aed87 Change our Yahoo! JAPAN version and version ID's to match the official Yahoo!
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 29989
diff changeset
95 #define YAHOOJP_CLIENT_VERSION_ID "4186047"
bfaf039aed87 Change our Yahoo! JAPAN version and version ID's to match the official Yahoo!
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 29989
diff changeset
96 #define YAHOOJP_CLIENT_VERSION "9.0.0.1727"
27394
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 #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
99
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
100 /* 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
101 #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
102
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
103 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
104 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
105 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
106 } 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
107
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
108 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
109 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
110 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
111 } 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
112
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
113 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
114 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
115 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
116 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
117 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
118 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
119 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
120 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
121 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
122 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
123 YAHOO_STATUS_STEPPEDOUT,
29989
c4fe6afad87a yahoo: fix decoding of P2P session_id
vamposdecampos@gmail.com
parents: 29394
diff changeset
124 YAHOO_STATUS_P2P = 11,
27394
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_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
126 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
127 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
128 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
129 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
130 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
131 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
132 };
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
133
28733
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
134 /*
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
135 * 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
136 * 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
137 * 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
138 */
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
139
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
140 typedef enum {
28734
5f13e8a5c1a0 Explicitly define the enum values like Paul wanted. Refs #9814.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 28733
diff changeset
141 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
142 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
143 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
144 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
145 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
146 } YahooFederation;
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
147
61856d0a2714 Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents: 28362
diff changeset
148
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
149 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
150 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
151 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
152 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
153 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
154 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
155 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
156 };
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
157
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
158 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
159 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
160 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
161 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
162 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
163 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
164 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
165 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
166 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
167 };
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
168
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
169 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
170
27531
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
171 typedef struct _YahooPersonalDetails {
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
172 char *id;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
173
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
174 struct {
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
175 char *first;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
176 char *last;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
177 char *middle;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
178 char *nick;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
179 } names;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
180
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
181 struct {
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
182 char *work;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
183 char *home;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
184 char *mobile;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
185 } phone;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
186 } YahooPersonalDetails;
07d09a987b86 Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 27400
diff changeset
187
28025
908be3822215 Move from "struct yahoo_data" to "YahooData" to be consistent with other structs
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27678
diff changeset
188 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
189 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
190 int fd;
32775
75daf132caf2 Yahoo: Move the "inpa" input watcher into protocol_data.
andrew.victor@mxit.com
parents: 32492
diff changeset
191 guint inpa;
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
192 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
193 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
194 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
195 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
196 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
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 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
199 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
200
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
201 /**
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
202 * 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
203 * 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
204 * 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
205 * 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
206 * 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
207 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
208 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
209
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
210 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
211 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
212 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
213 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
214 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
215 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
216 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
217 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
218 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
219 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
220 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
221 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
222 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
223 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
224 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
225 char *cookie_t;
30098
9f482e11f066 Rework the Yahoo auth16 sutff a bit such that we now retrieve and use the
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 30074
diff changeset
226 char *cookie_b;
27394
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 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
228 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
229 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
230 /* 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
231 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
232 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
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 /* 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
235 * 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
236 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
237 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
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 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
240
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
241 /**
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
242 * 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
243 * 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
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 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
246 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
247 GSList *cookies;/* contains all cookies, including _y and _t */
31530
86598f5d7ebd Yahoo: Fix a crash that happens when the PurpleAccount disconnects after
hanzz@soc.pidgin.im
parents: 31022
diff changeset
248 PurpleNetworkListenData *listen_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
249
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
250 /**
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
251 * 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
252 * 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
253 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
254 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
255 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
256 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
257 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
258 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
259 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
260 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
261 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
262 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
263 } 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
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 #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
266
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
267 /*
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
268 * 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
269 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
270 * 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
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 * 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
273 * 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
274 * 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
275 * 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
276 * 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
277 * 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
278 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
279 #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
280 #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
281
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
282 /* 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
283 * 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
284 #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
285 (*(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
286 (*((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
287 2)
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_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
289 #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
290 (*((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
291 (*((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
292 (*((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
293 (*((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
294 4)
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
295 #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
296 (((*((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
297 (((*((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
298 (((*((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
299
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
300 /* 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
301 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
302 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
303 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
304
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 * 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
307 * 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
308 * 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
309 *
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
310 * 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
311 * 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
312 *
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
313 * 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
314 * 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
315 * 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
316 * 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
317 *
c06114f3d58d * Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents: 28025
diff changeset
318 * 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
319 * <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
320 * 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
321 * 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
322 * 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
323 * 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
324 */
27394
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
325 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
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 gboolean
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
328 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
329
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
330 /**
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
331 * 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
332 *
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
333 * @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
334 * @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
335 * @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
336 * 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
337 * 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
338 * @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
339 * 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
340 * @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
341 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
342 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
343
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 * 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
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 * @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
348 * @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
349 * @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
350 * @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
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 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
353
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
354 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
355
28836
7b88cc6c3f7a Cannot send a file to a federated user on yahoo.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 28734
diff changeset
356 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
357
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
358 /* 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
359 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
360
27400
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
361 /* 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
362 * 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
363 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
364 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
365 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
366 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
367 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
368 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
369 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
370 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
371 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
372 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
373 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
374 void yahoo_set_idle(PurpleConnection *gc, int idle);
32492
cd1d9e04c587 Rename the _with_invite functions to their counterparts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32221
diff changeset
375 void yahoo_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *g, const char *message);
27400
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_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
377 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
378 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
379 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
380 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
381 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
382 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
383 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
384 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
385 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
386
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
387 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
388 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
389
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
390 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
391 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
392 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
393 /* 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
394 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
395 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
396 */
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
397 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
398
16ef6a9e7acd Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
399 /* 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
400 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
401
27400
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27395
diff changeset
402 #endif /* _LIBYMSG_H_ */