libpurple/protocols/oscar/peer.h

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 25889
26d9ca30335c
child 29889
7264be912028
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
1 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2 * Purple's oscar protocol plugin
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
3 * This file is the legal property of its developers.
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
4 * Please see the AUTHORS file distributed alongside this file.
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
5 *
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
6 * This library is free software; you can redistribute it and/or
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
8 * License as published by the Free Software Foundation; either
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
9 * version 2 of the License, or (at your option) any later version.
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
10 *
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
11 * This library is distributed in the hope that it will be useful,
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
14 * Lesser General Public License for more details.
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
15 *
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
17 * License along with this library; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 15978
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
19 */
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
20
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
21 /*
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
22 * OFT and ODC Services
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
23 */
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
24
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
25 #ifndef _PEER_H_
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
26 #define _PEER_H_
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
27
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
28 #include "ft.h"
14329
05c3cc0c1f79 [gaim-migrate @ 16949]
Mark Doliner <markdoliner@pidgin.im>
parents: 14324
diff changeset
29 #include "network.h"
05c3cc0c1f79 [gaim-migrate @ 16949]
Mark Doliner <markdoliner@pidgin.im>
parents: 14324
diff changeset
30 #include "proxy.h"
13240
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
31
15354
52ba52a13827 [gaim-migrate @ 18083]
Mark Doliner <markdoliner@pidgin.im>
parents: 15322
diff changeset
32 typedef struct _ChecksumData ChecksumData;
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
33 typedef struct _OdcFrame OdcFrame;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
34 typedef struct _OftFrame OftFrame;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
35 typedef struct _ProxyFrame ProxyFrame;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
36 typedef struct _PeerConnection PeerConnection;
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
37
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
38 #define PEER_CONNECTION_FLAG_INITIATED_BY_ME 0x0001
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
39 #define PEER_CONNECTION_FLAG_APPROVED 0x0002
15173
faf1dbd8db3d [gaim-migrate @ 17897]
Sean Egan <seanegan@pidgin.im>
parents: 14464
diff changeset
40 #define PEER_CONNECTION_FLAG_TRIED_DIRECT 0x0004
faf1dbd8db3d [gaim-migrate @ 17897]
Sean Egan <seanegan@pidgin.im>
parents: 14464
diff changeset
41 #define PEER_CONNECTION_FLAG_TRIED_INCOMING 0x0008
faf1dbd8db3d [gaim-migrate @ 17897]
Sean Egan <seanegan@pidgin.im>
parents: 14464
diff changeset
42 #define PEER_CONNECTION_FLAG_TRIED_PROXY 0x0010
faf1dbd8db3d [gaim-migrate @ 17897]
Sean Egan <seanegan@pidgin.im>
parents: 14464
diff changeset
43 #define PEER_CONNECTION_FLAG_IS_INCOMING 0x0020
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
44
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
45 #define PEER_TYPE_PROMPT 0x0101 /* "I am going to send you this file, is that ok?" */
15322
cd268e368bc1 [gaim-migrate @ 18050]
Mark Doliner <markdoliner@pidgin.im>
parents: 15256
diff changeset
46 #define PEER_TYPE_RESUMEACCEPT 0x0106 /* We are accepting the resume */
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
47 #define PEER_TYPE_ACK 0x0202 /* "Yes, it is ok for you to send me that file" */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
48 #define PEER_TYPE_DONE 0x0204 /* "I received that file with no problems, thanks a bunch" */
15322
cd268e368bc1 [gaim-migrate @ 18050]
Mark Doliner <markdoliner@pidgin.im>
parents: 15256
diff changeset
49 #define PEER_TYPE_RESUME 0x0205 /* Resume transferring, sent by whoever receives */
cd268e368bc1 [gaim-migrate @ 18050]
Mark Doliner <markdoliner@pidgin.im>
parents: 15256
diff changeset
50 #define PEER_TYPE_RESUMEACK 0x0207 /* Our resume accept was ACKed */
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
51
13240
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
52 #define PEER_TYPE_GETFILE_REQUESTLISTING 0x1108 /* "I have a listing.txt file, do you want it?" */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
53 #define PEER_TYPE_GETFILE_RECEIVELISTING 0x1209 /* "Yes, please send me your listing.txt file" */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
54 #define PEER_TYPE_GETFILE_RECEIVEDLISTING 0x120a /* received corrupt listing.txt file? I'm just guessing about this one... */
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
55 #define PEER_TYPE_GETFILE_ACKLISTING 0x120b /* "I received the listing.txt file successfully" */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
56 #define PEER_TYPE_GETFILE_REQUESTFILE 0x120c /* "Please send me this file" */
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
57
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
58 /*
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
59 * For peer proxying
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
60 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
61 #define PEER_PROXY_SERVER "ars.oscar.aol.com"
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
62 #define PEER_PROXY_PORT 5190 /* The port we should always connect to */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
63 #define PEER_PROXY_PACKET_VERSION 0x044a
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
64
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
65 /* Thanks to Keith Lea and the Joust project for documenting these */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
66 #define PEER_PROXY_TYPE_ERROR 0x0001
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
67 #define PEER_PROXY_TYPE_CREATE 0x0002
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
68 #define PEER_PROXY_TYPE_CREATED 0x0003
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
69 #define PEER_PROXY_TYPE_JOIN 0x0004
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
70 #define PEER_PROXY_TYPE_READY 0x0005
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
71
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
72 struct _OdcFrame
13240
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
73 {
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
74 /* guchar magic[4]; */ /* 0 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
75 /* guint16 length; */ /* 4 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
76 guint16 type; /* 6 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
77 guint16 subtype; /* 8 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
78 /* Unknown */ /* 10 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
79 guchar cookie[8]; /* 12 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
80 /* Unknown */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
81 /* guint32 payloadlength; */ /* 28 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
82 guint16 encoding; /* 32 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
83 /* Unknown */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
84 guint16 flags; /* 38 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
85 /* Unknown */
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 23079
diff changeset
86 guchar bn[32]; /* 44 */
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
87 /* Unknown */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
88 ByteStream payload; /* 76 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
89 };
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
90
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
91 struct _OftFrame
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
92 {
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
93 /* guchar magic[4]; */ /* 0 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
94 /* guint16 length; */ /* 4 */
13253
5ad8373f2d1e [gaim-migrate @ 15618]
Mark Doliner <markdoliner@pidgin.im>
parents: 13240
diff changeset
95 guint16 type; /* 6 */
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
96 guchar cookie[8]; /* 8 */
13240
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
97 guint16 encrypt; /* 16 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
98 guint16 compress; /* 18 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
99 guint16 totfiles; /* 20 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
100 guint16 filesleft; /* 22 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
101 guint16 totparts; /* 24 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
102 guint16 partsleft; /* 26 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
103 guint32 totsize; /* 28 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
104 guint32 size; /* 32 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
105 guint32 modtime; /* 36 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
106 guint32 checksum; /* 40 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
107 guint32 rfrcsum; /* 44 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
108 guint32 rfsize; /* 48 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
109 guint32 cretime; /* 52 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
110 guint32 rfcsum; /* 56 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
111 guint32 nrecvd; /* 60 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
112 guint32 recvcsum; /* 64 */
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
113 guchar idstring[32]; /* 68 */
13240
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
114 guint8 flags; /* 100 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
115 guint8 lnameoffset; /* 101 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
116 guint8 lsizeoffset; /* 102 */
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
117 guchar dummy[69]; /* 103 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
118 guchar macfileinfo[16]; /* 172 */
13240
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
119 guint16 nencode; /* 188 */
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
120 guint16 nlanguage; /* 190 */
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
121 guchar *name; /* 192 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
122 size_t name_length;
13240
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
123 /* Payload? */ /* 256 */
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
124 };
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
125
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
126 struct _ProxyFrame
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
127 {
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
128 /* guint16 length; */ /* 0 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
129 guint16 version; /* 2 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
130 guint16 type; /* 4 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
131 guint32 unknown; /* 6 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
132 guint16 flags; /* 10 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
133 ByteStream payload; /* 12 */
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
134 };
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
135
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
136 struct _PeerConnection
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
137 {
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
138 OscarData *od;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
139 OscarCapability type;
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 23079
diff changeset
140 char *bn;
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
141 guchar magic[4];
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
142 guchar cookie[8];
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
143 guint16 lastrequestnumber;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
144
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
145 gboolean ready;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
146 int flags; /**< Bitmask of PEER_CONNECTION_FLAG_ */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
147 time_t lastactivity; /**< Time of last transmit. */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
148 guint destroy_timeout;
13609
a6fbfad454b6 [gaim-migrate @ 15994]
Mark Doliner <markdoliner@pidgin.im>
parents: 13593
diff changeset
149 OscarDisconnectReason disconnect_reason;
14464
b7bca43f75b3 [gaim-migrate @ 17110]
Mark Doliner <markdoliner@pidgin.im>
parents: 14329
diff changeset
150 char *error_message;
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
151
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
152 /**
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
153 * A pointer to either an OdcFrame or an OftFrame.
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
154 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
155 gpointer frame;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
156
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
157 /**
14166
59f2d7f35ad8 [gaim-migrate @ 16735]
Mark Doliner <markdoliner@pidgin.im>
parents: 14151
diff changeset
158 * This is only used when the peer connection is being established.
59f2d7f35ad8 [gaim-migrate @ 16735]
Mark Doliner <markdoliner@pidgin.im>
parents: 14151
diff changeset
159 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
160 PurpleProxyConnectData *client_connect_data;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
161 PurpleProxyConnectData *verified_connect_data;
15256
c57887cd5d08 [gaim-migrate @ 17983]
Mark Doliner <markdoliner@pidgin.im>
parents: 15173
diff changeset
162
14166
59f2d7f35ad8 [gaim-migrate @ 16735]
Mark Doliner <markdoliner@pidgin.im>
parents: 14151
diff changeset
163 /**
59f2d7f35ad8 [gaim-migrate @ 16735]
Mark Doliner <markdoliner@pidgin.im>
parents: 14151
diff changeset
164 * This is only used when the peer connection is being established.
59f2d7f35ad8 [gaim-migrate @ 16735]
Mark Doliner <markdoliner@pidgin.im>
parents: 14151
diff changeset
165 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
166 PurpleNetworkListenData *listen_data;
14329
05c3cc0c1f79 [gaim-migrate @ 16949]
Mark Doliner <markdoliner@pidgin.im>
parents: 14324
diff changeset
167
05c3cc0c1f79 [gaim-migrate @ 16949]
Mark Doliner <markdoliner@pidgin.im>
parents: 14324
diff changeset
168
05c3cc0c1f79 [gaim-migrate @ 16949]
Mark Doliner <markdoliner@pidgin.im>
parents: 14324
diff changeset
169 /**
05c3cc0c1f79 [gaim-migrate @ 16949]
Mark Doliner <markdoliner@pidgin.im>
parents: 14324
diff changeset
170 * This is only used when the peer connection is being established.
05c3cc0c1f79 [gaim-migrate @ 16949]
Mark Doliner <markdoliner@pidgin.im>
parents: 14324
diff changeset
171 */
14166
59f2d7f35ad8 [gaim-migrate @ 16735]
Mark Doliner <markdoliner@pidgin.im>
parents: 14151
diff changeset
172 guint connect_timeout_timer;
59f2d7f35ad8 [gaim-migrate @ 16735]
Mark Doliner <markdoliner@pidgin.im>
parents: 14151
diff changeset
173
59f2d7f35ad8 [gaim-migrate @ 16735]
Mark Doliner <markdoliner@pidgin.im>
parents: 14151
diff changeset
174 /**
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
175 * This is only used while the remote user is attempting to
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
176 * connect to us.
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
177 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
178 int listenerfd;
14166
59f2d7f35ad8 [gaim-migrate @ 16735]
Mark Doliner <markdoliner@pidgin.im>
parents: 14151
diff changeset
179
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
180 int fd;
15256
c57887cd5d08 [gaim-migrate @ 17983]
Mark Doliner <markdoliner@pidgin.im>
parents: 15173
diff changeset
181 guint8 header[6];
23079
b887906eed60 More s/ssize_t/gssize/
Daniel Atallah <datallah@pidgin.im>
parents: 19859
diff changeset
182 gssize header_received;
15256
c57887cd5d08 [gaim-migrate @ 17983]
Mark Doliner <markdoliner@pidgin.im>
parents: 15173
diff changeset
183 guint8 proxy_header[12];
23079
b887906eed60 More s/ssize_t/gssize/
Daniel Atallah <datallah@pidgin.im>
parents: 19859
diff changeset
184 gssize proxy_header_received;
15256
c57887cd5d08 [gaim-migrate @ 17983]
Mark Doliner <markdoliner@pidgin.im>
parents: 15173
diff changeset
185 ByteStream buffer_incoming;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
186 PurpleCircBuffer *buffer_outgoing;
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
187 guint watcher_incoming;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
188 guint watcher_outgoing;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
189
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
190 /**
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
191 * IP address of the proxy server, if applicable.
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
192 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
193 gchar *proxyip;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
194
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
195 /**
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
196 * IP address of the remote user from THEIR point of view.
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
197 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
198 gchar *clientip;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
199
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
200 /**
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
201 * IP address of the remote user from the oscar server's
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
202 * point of view.
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
203 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
204 gchar *verifiedip;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
205
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
206 guint16 port;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
207 gboolean use_proxy;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
208
15354
52ba52a13827 [gaim-migrate @ 18083]
Mark Doliner <markdoliner@pidgin.im>
parents: 15322
diff changeset
209 /**
52ba52a13827 [gaim-migrate @ 18083]
Mark Doliner <markdoliner@pidgin.im>
parents: 15322
diff changeset
210 * Checksumming
52ba52a13827 [gaim-migrate @ 18083]
Mark Doliner <markdoliner@pidgin.im>
parents: 15322
diff changeset
211 */
52ba52a13827 [gaim-migrate @ 18083]
Mark Doliner <markdoliner@pidgin.im>
parents: 15322
diff changeset
212 ChecksumData *checksum_data;
52ba52a13827 [gaim-migrate @ 18083]
Mark Doliner <markdoliner@pidgin.im>
parents: 15322
diff changeset
213
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
214 /* TODOFT */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
215 PurpleXfer *xfer;
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
216 OftFrame xferdata;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
217 guint sending_data_timer;
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
218 };
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
219
13240
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
220 /*
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
221 * For all peer connections
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
222 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
223
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
224 /**
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
225 * Create a new PeerConnection structure and initialize it with some
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
226 * sane defaults.
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
227 *
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
228 * @param type The type of the peer connection. One of
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
229 * OSCAR_CAPABILITY_DIRECTIM or OSCAR_CAPABILITY_SENDFILE.
13240
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
230 */
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 23079
diff changeset
231 PeerConnection *peer_connection_new(OscarData *od, OscarCapability type, const char *bn);
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
232
14464
b7bca43f75b3 [gaim-migrate @ 17110]
Mark Doliner <markdoliner@pidgin.im>
parents: 14329
diff changeset
233 void peer_connection_destroy(PeerConnection *conn, OscarDisconnectReason reason, const gchar *error_message);
b7bca43f75b3 [gaim-migrate @ 17110]
Mark Doliner <markdoliner@pidgin.im>
parents: 14329
diff changeset
234 void peer_connection_schedule_destroy(PeerConnection *conn, OscarDisconnectReason reason, const gchar *error_message);
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 23079
diff changeset
235 PeerConnection *peer_connection_find_by_type(OscarData *od, const char *bn, OscarCapability type);
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 23079
diff changeset
236 PeerConnection *peer_connection_find_by_cookie(OscarData *od, const char *bn, const guchar *cookie);
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
237
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
238 void peer_connection_listen_cb(gpointer data, gint source, PurpleInputCondition cond);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
239 void peer_connection_recv_cb(gpointer data, gint source, PurpleInputCondition cond);
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
240 void peer_connection_send(PeerConnection *conn, ByteStream *bs);
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
241
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
242 void peer_connection_trynext(PeerConnection *conn);
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
243 void peer_connection_finalize_connection(PeerConnection *conn);
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 23079
diff changeset
244 void peer_connection_propose(OscarData *od, OscarCapability type, const char *bn);
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 23079
diff changeset
245 void peer_connection_got_proposition(OscarData *od, const gchar *bn, const gchar *message, IcbmArgsCh2 *args);
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
246
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
247 /*
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
248 * For ODC
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
249 */
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
250 void peer_odc_close(PeerConnection *conn);
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
251 void peer_odc_recv_frame(PeerConnection *conn, ByteStream *bs);
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
252 void peer_odc_send_cookie(PeerConnection *conn);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
253 void peer_odc_send_typing(PeerConnection *conn, PurpleTypingState typing);
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
254 void peer_odc_send_im(PeerConnection *conn, const char *msg, int len, int encoding, gboolean autoreply);
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
255
13240
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
256 /*
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
257 * For OFT
13240
db5187cc40d1 [gaim-migrate @ 15605]
Mark Doliner <markdoliner@pidgin.im>
parents: 13235
diff changeset
258 */
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
259 void peer_oft_close(PeerConnection *conn);
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
260 void peer_oft_recv_frame(PeerConnection *conn, ByteStream *bs);
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
261 void peer_oft_send_prompt(PeerConnection *conn);
15354
52ba52a13827 [gaim-migrate @ 18083]
Mark Doliner <markdoliner@pidgin.im>
parents: 15322
diff changeset
262 void peer_oft_checksum_destroy(ChecksumData *checksum_data);
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
263
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
264 /* Xfer callbacks for receiving a file */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
265 void peer_oft_recvcb_init(PurpleXfer *xfer);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
266 void peer_oft_recvcb_end(PurpleXfer *xfer);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
267 void peer_oft_recvcb_ack_recv(PurpleXfer *xfer, const guchar *buffer, size_t size);
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
268
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
269 /* Xfer callbacks for sending a file */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
270 void peer_oft_sendcb_init(PurpleXfer *xfer);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
271 void peer_oft_sendcb_ack(PurpleXfer *xfer, const guchar *buffer, size_t size);
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
272
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
273 /* Xfer callbacks for both sending and receiving */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
274 void peer_oft_cb_generic_cancel(PurpleXfer *xfer);
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
275
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
276 /*
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
277 * For peer proxying
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
278 */
14171
351b731b9553 [gaim-migrate @ 16743]
Mark Doliner <markdoliner@pidgin.im>
parents: 14166
diff changeset
279 void peer_proxy_connection_established_cb(gpointer data, gint source, const gchar *error_message);
13593
3450a7cede99 [gaim-migrate @ 15978]
Mark Doliner <markdoliner@pidgin.im>
parents: 13253
diff changeset
280
13235
72bddc689630 [gaim-migrate @ 15600]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
281 #endif /* _PEER_H_ */

mercurial