libpurple/protocols/msn/p2p.h

Mon, 10 Feb 2014 16:22:00 +0530

author
Ankit Vani <a@nevitus.org>
date
Mon, 10 Feb 2014 16:22:00 +0530
branch
soc.2013.gobjectification.plugins
changeset 37108
73c5fb6d78b3
parent 31792
ebe13c307f60
permissions
-rw-r--r--

Merged default branch

31180
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
1 /**
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
2 * @file p2p.h MSN P2P functions
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
3 *
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
4 * purple
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
5 *
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
6 * Purple is the legal property of its developers, whose names are too numerous
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
7 * to list here. Please refer to the COPYRIGHT file distributed with this
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
8 * source distribution.
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
9 *
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
10 * This program is free software; you can redistribute it and/or modify
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
11 * it under the terms of the GNU General Public License as published by
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
13 * (at your option) any later version.
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
14 *
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
15 * This program is distributed in the hope that it will be useful,
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
18 * GNU General Public License for more details.
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
19 *
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
20 * You should have received a copy of the GNU General Public License
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
21 * along with this program; if not, write to the Free Software
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
23 */
3f527ea0d2ea These new files are missing GPL headers. And fix a couple incorrect
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31070
diff changeset
24
30967
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
25 #ifndef MSN_P2P_H
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
26 #define MSN_P2P_H
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
27
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
28 typedef struct {
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
29 guint32 session_id;
30968
414d71c431a2 Chang member name so it is compatible with MsnSlpHeader struct names.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30967
diff changeset
30 guint32 id;
31065
6094ffb96a11 Get rid of the offset field in the SlpMessage in favor of the one in the Header.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31050
diff changeset
31 /**
6094ffb96a11 Get rid of the offset field in the SlpMessage in favor of the one in the Header.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31050
diff changeset
32 * In a MsnSlpMessage:
6094ffb96a11 Get rid of the offset field in the SlpMessage in favor of the one in the Header.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31050
diff changeset
33 * For outgoing messages this is the number of bytes from buffer that
6094ffb96a11 Get rid of the offset field in the SlpMessage in favor of the one in the Header.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31050
diff changeset
34 * have already been sent out. For incoming messages this is the
6094ffb96a11 Get rid of the offset field in the SlpMessage in favor of the one in the Header.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31050
diff changeset
35 * number of bytes that have been written to buffer.
6094ffb96a11 Get rid of the offset field in the SlpMessage in favor of the one in the Header.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31050
diff changeset
36 */
30967
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
37 guint64 offset;
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
38 guint64 total_size;
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
39 guint32 length;
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
40 guint32 flags;
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
41 guint32 ack_id;
30968
414d71c431a2 Chang member name so it is compatible with MsnSlpHeader struct names.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30967
diff changeset
42 guint32 ack_sub_id;
30967
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
43 guint64 ack_size;
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
44 /* guint8 body[1]; */
30971
39a254a27343 Drop Binary from the struct name.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30970
diff changeset
45 } MsnP2PHeader;
31247
57079aab03d0 Change SLP P2P functions to use the new buffer access functions
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31237
diff changeset
46 #define P2P_PACKET_HEADER_SIZE (6 * 4 + 3 * 8)
30967
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
47
31041
60e29347974b Add initial P2Pv2 header definition.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31001
diff changeset
48 typedef struct {
60e29347974b Add initial P2Pv2 header definition.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31001
diff changeset
49 guint8 header_len;
60e29347974b Add initial P2Pv2 header definition.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31001
diff changeset
50 guint8 opcode;
31050
5d8f53b24b35 Fix some field sizes in P2Pv2 header.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31046
diff changeset
51 guint16 message_len;
5d8f53b24b35 Fix some field sizes in P2Pv2 header.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31046
diff changeset
52 guint32 base_id;
31523
3a58442e7b62 Add P2Pv2 parsing and saving functions. Tested by compiling them!
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31520
diff changeset
53 GSList *header_tlv;
3a58442e7b62 Add P2Pv2 parsing and saving functions. Tested by compiling them!
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31520
diff changeset
54 guint8 data_header_len;
3a58442e7b62 Add P2Pv2 parsing and saving functions. Tested by compiling them!
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31520
diff changeset
55 guint8 data_tf;
3a58442e7b62 Add P2Pv2 parsing and saving functions. Tested by compiling them!
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31520
diff changeset
56 guint16 package_number;
3a58442e7b62 Add P2Pv2 parsing and saving functions. Tested by compiling them!
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31520
diff changeset
57 guint32 session_id;
3a58442e7b62 Add P2Pv2 parsing and saving functions. Tested by compiling them!
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31520
diff changeset
58 GSList *data_tlv;
3a58442e7b62 Add P2Pv2 parsing and saving functions. Tested by compiling them!
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31520
diff changeset
59 /* guint8 body[1]; */
31041
60e29347974b Add initial P2Pv2 header definition.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31001
diff changeset
60 } MsnP2Pv2Header;
60e29347974b Add initial P2Pv2 header definition.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31001
diff changeset
61
31290
7231c1af5197 Add P2Pv2 Data Header struct.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31289
diff changeset
62 typedef struct {
31762
8f750daa1284 propagate from branch 'im.pidgin.cpw.masca.p2p' (head 889c5f6bceee2561cc5118c95369ddc832a4d0bc)
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31292 31523
diff changeset
63 guint16 protocol_version;
8f750daa1284 propagate from branch 'im.pidgin.cpw.masca.p2p' (head 889c5f6bceee2561cc5118c95369ddc832a4d0bc)
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31292 31523
diff changeset
64 guint16 implementation_id;
8f750daa1284 propagate from branch 'im.pidgin.cpw.masca.p2p' (head 889c5f6bceee2561cc5118c95369ddc832a4d0bc)
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31292 31523
diff changeset
65 guint16 version;
8f750daa1284 propagate from branch 'im.pidgin.cpw.masca.p2p' (head 889c5f6bceee2561cc5118c95369ddc832a4d0bc)
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31292 31523
diff changeset
66 guint16 reserved;
8f750daa1284 propagate from branch 'im.pidgin.cpw.masca.p2p' (head 889c5f6bceee2561cc5118c95369ddc832a4d0bc)
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31292 31523
diff changeset
67 guint32 caps;
31769
5e791f5fa5f2 Rename things a little.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31762
diff changeset
68 } P2PPeerInfo;
31292
889c5f6bceee Add Peer Info TLV struct and values.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31291
diff changeset
69
31230
4f4c81c94b12 Add some constants used by P2Pv2.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31185
diff changeset
70 typedef enum
4f4c81c94b12 Add some constants used by P2Pv2.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31185
diff changeset
71 {
31762
8f750daa1284 propagate from branch 'im.pidgin.cpw.masca.p2p' (head 889c5f6bceee2561cc5118c95369ddc832a4d0bc)
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31292 31523
diff changeset
72 TF_FIRST = 0x01, /**< The first package. */
8f750daa1284 propagate from branch 'im.pidgin.cpw.masca.p2p' (head 889c5f6bceee2561cc5118c95369ddc832a4d0bc)
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31292 31523
diff changeset
73 TF_MSNOBJ = 0x04, /**< Payload contains binary data for MsnObject. */
8f750daa1284 propagate from branch 'im.pidgin.cpw.masca.p2p' (head 889c5f6bceee2561cc5118c95369ddc832a4d0bc)
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31292 31523
diff changeset
74 TF_FILE = 0x06 /**< Payload contains binary data. */
31230
4f4c81c94b12 Add some constants used by P2Pv2.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31185
diff changeset
75 } TF;
4f4c81c94b12 Add some constants used by P2Pv2.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31185
diff changeset
76
4f4c81c94b12 Add some constants used by P2Pv2.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31185
diff changeset
77 typedef enum
4f4c81c94b12 Add some constants used by P2Pv2.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31185
diff changeset
78 {
31792
ebe13c307f60 Rename this enums a little better. And I don't think we need these
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31791
diff changeset
79 P2P_HEADER_TLV_TYPE_PEER_INFO = 0x01, /**< Client peer info */
ebe13c307f60 Rename this enums a little better. And I don't think we need these
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31791
diff changeset
80 P2P_HEADER_TLV_TYPE_ACK = 0x02, /**< ACK */
ebe13c307f60 Rename this enums a little better. And I don't think we need these
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31791
diff changeset
81 P2P_HEADER_TLV_TYPE_NAK = 0x03 /**< NAK */
ebe13c307f60 Rename this enums a little better. And I don't think we need these
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31791
diff changeset
82 } P2PHeaderTLVType;
31230
4f4c81c94b12 Add some constants used by P2Pv2.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31185
diff changeset
83
4f4c81c94b12 Add some constants used by P2Pv2.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31185
diff changeset
84 typedef enum
4f4c81c94b12 Add some constants used by P2Pv2.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31185
diff changeset
85 {
31792
ebe13c307f60 Rename this enums a little better. And I don't think we need these
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31791
diff changeset
86 P2P_DATA_TLV_REMAINING = 0x01, /**< Indicates the remaining data to transfer.*/
ebe13c307f60 Rename this enums a little better. And I don't think we need these
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31791
diff changeset
87 } P2PDataTLVType;
31230
4f4c81c94b12 Add some constants used by P2Pv2.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31185
diff changeset
88
31292
889c5f6bceee Add Peer Info TLV struct and values.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31291
diff changeset
89 typedef enum
889c5f6bceee Add Peer Info TLV struct and values.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31291
diff changeset
90 {
31769
5e791f5fa5f2 Rename things a little.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31762
diff changeset
91 P2P_PI_PVER = 0x0200,
5e791f5fa5f2 Rename things a little.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31762
diff changeset
92 P2P_PI_IMP_ID = 0,
5e791f5fa5f2 Rename things a little.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31762
diff changeset
93 P2P_PI_VER = 0x0e00,
5e791f5fa5f2 Rename things a little.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31762
diff changeset
94 P2P_PI_RES = 0,
5e791f5fa5f2 Rename things a little.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31762
diff changeset
95 P2P_PI_CAPS = 0x0000010f
5e791f5fa5f2 Rename things a little.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31762
diff changeset
96 } P2PPeerInfoVal;
31292
889c5f6bceee Add Peer Info TLV struct and values.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31291
diff changeset
97
30970
432037e01d4f Drop MsnSlpFooter in favor of MsnP2pFooter.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30968
diff changeset
98 typedef struct
432037e01d4f Drop MsnSlpFooter in favor of MsnP2pFooter.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30968
diff changeset
99 {
432037e01d4f Drop MsnSlpFooter in favor of MsnP2pFooter.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30968
diff changeset
100 guint32 value;
432037e01d4f Drop MsnSlpFooter in favor of MsnP2pFooter.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30968
diff changeset
101 } MsnP2PFooter;
31247
57079aab03d0 Change SLP P2P functions to use the new buffer access functions
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31237
diff changeset
102 #define P2P_PACKET_FOOTER_SIZE (1 * 4)
30970
432037e01d4f Drop MsnSlpFooter in favor of MsnP2pFooter.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30968
diff changeset
103
31475
a9c9f5b22102 Add P2Pv2 header information to the P2P info struct. Of course, all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31367
diff changeset
104 typedef enum
a9c9f5b22102 Add P2Pv2 header information to the P2P info struct. Of course, all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31367
diff changeset
105 {
a9c9f5b22102 Add P2Pv2 header information to the P2P info struct. Of course, all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31367
diff changeset
106 MSN_P2P_VERSION_ONE = 0,
a9c9f5b22102 Add P2Pv2 header information to the P2P info struct. Of course, all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31367
diff changeset
107 MSN_P2P_VERSION_TWO = 1,
a9c9f5b22102 Add P2Pv2 header information to the P2P info struct. Of course, all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31367
diff changeset
108 } MsnP2PVersion;
a9c9f5b22102 Add P2Pv2 header information to the P2P info struct. Of course, all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31367
diff changeset
109
31367
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
110 typedef struct {
31475
a9c9f5b22102 Add P2Pv2 header information to the P2P info struct. Of course, all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31367
diff changeset
111 MsnP2PVersion version;
a9c9f5b22102 Add P2Pv2 header information to the P2P info struct. Of course, all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31367
diff changeset
112 union {
a9c9f5b22102 Add P2Pv2 header information to the P2P info struct. Of course, all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31367
diff changeset
113 MsnP2PHeader v1;
a9c9f5b22102 Add P2Pv2 header information to the P2P info struct. Of course, all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31367
diff changeset
114 MsnP2Pv2Header v2;
a9c9f5b22102 Add P2Pv2 header information to the P2P info struct. Of course, all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31367
diff changeset
115 } header;
31367
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
116 MsnP2PFooter footer;
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
117 } MsnP2PInfo;
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
118
30967
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
119 typedef enum
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
120 {
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
121 P2P_NO_FLAG = 0x0, /**< No flags specified */
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
122 P2P_OUT_OF_ORDER = 0x1, /**< Chunk out-of-order */
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
123 P2P_ACK = 0x2, /**< Acknowledgement */
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
124 P2P_PENDING_INVITE = 0x4, /**< There is a pending invite */
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
125 P2P_BINARY_ERROR = 0x8, /**< Error on the binary level */
31043
34a5263c96a6 Add some more flag definitions to the p2p flags.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31041
diff changeset
126 P2P_FILE = 0x10, /**< File */
30967
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
127 P2P_MSN_OBJ_DATA = 0x20, /**< MsnObject data */
31043
34a5263c96a6 Add some more flag definitions to the p2p flags.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31041
diff changeset
128 P2P_CLOSE = 0x40, /**< Close session */
34a5263c96a6 Add some more flag definitions to the p2p flags.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31041
diff changeset
129 P2P_TLP_ERROR = 0x80, /**< Error at transport layer protocol */
34a5263c96a6 Add some more flag definitions to the p2p flags.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31041
diff changeset
130 P2P_DC_HANDSHAKE = 0x100, /**< Direct Handshake */
31185
5ffa2e7ba2e1 Fix the name of this flag.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31180
diff changeset
131 P2P_WLM2009_COMP = 0x1000000, /**< Compatibility with WLM 2009 */
30967
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
132 P2P_FILE_DATA = 0x1000030 /**< File transfer data */
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
133 } MsnP2PHeaderFlag;
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
134 /* Info From:
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
135 * http://msnpiki.msnfanatic.com/index.php/MSNC:P2Pv1_Headers#Flags
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
136 * http://trac.kmess.org/changeset/ba04d0c825769d23370511031c47f6be75fe9b86
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
137 * #7180
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
138 */
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
139
31046
33671e05cf24 Documetn P2P Application ID in a enum and use it instead of 'magic numbers'.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31043
diff changeset
140 typedef enum
33671e05cf24 Documetn P2P Application ID in a enum and use it instead of 'magic numbers'.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31043
diff changeset
141 {
31237
9c2341bd9199 Fix typo
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31185
diff changeset
142 P2P_APPID_SESSION = 0x0, /**< Negotiating session */
31046
33671e05cf24 Documetn P2P Application ID in a enum and use it instead of 'magic numbers'.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31043
diff changeset
143 P2P_APPID_OBJ = 0x1, /**< MsnObject (Display or Emoticon) */
33671e05cf24 Documetn P2P Application ID in a enum and use it instead of 'magic numbers'.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31043
diff changeset
144 P2P_APPID_FILE = 0x2, /**< File transfer */
33671e05cf24 Documetn P2P Application ID in a enum and use it instead of 'magic numbers'.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31043
diff changeset
145 P2P_APPID_EMOTE = 0xB, /**< CustomEmoticon */
33671e05cf24 Documetn P2P Application ID in a enum and use it instead of 'magic numbers'.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31043
diff changeset
146 P2P_APPID_DISPLAY = 0xC /**< Display Image */
33671e05cf24 Documetn P2P Application ID in a enum and use it instead of 'magic numbers'.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31043
diff changeset
147 } MsnP2PAppId;
33671e05cf24 Documetn P2P Application ID in a enum and use it instead of 'magic numbers'.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31043
diff changeset
148
31523
3a58442e7b62 Add P2Pv2 parsing and saving functions. Tested by compiling them!
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31520
diff changeset
149 typedef enum
3a58442e7b62 Add P2Pv2 parsing and saving functions. Tested by compiling them!
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31520
diff changeset
150 {
3a58442e7b62 Add P2Pv2 parsing and saving functions. Tested by compiling them!
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31520
diff changeset
151 P2P_OPCODE_NONE = 0x00,
3a58442e7b62 Add P2Pv2 parsing and saving functions. Tested by compiling them!
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31520
diff changeset
152 P2P_OPCODE_SYN = 0x01,
3a58442e7b62 Add P2Pv2 parsing and saving functions. Tested by compiling them!
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31520
diff changeset
153 P2P_OPCODE_RAK = 0x02
3a58442e7b62 Add P2Pv2 parsing and saving functions. Tested by compiling them!
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31520
diff changeset
154 } MsnP2Pv2OpCode;
3a58442e7b62 Add P2Pv2 parsing and saving functions. Tested by compiling them!
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31520
diff changeset
155
31367
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
156 MsnP2PInfo *
31475
a9c9f5b22102 Add P2Pv2 header information to the P2P info struct. Of course, all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31367
diff changeset
157 msn_p2p_info_new(MsnP2PVersion version);
31367
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
158
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
159 MsnP2PInfo *
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
160 msn_p2p_info_dup(MsnP2PInfo *info);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
161
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
162 void
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
163 msn_p2p_info_free(MsnP2PInfo *info);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
164
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
165 size_t
31520
c557ab744010 Add a maximum length when parsing the P2P wire data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31475
diff changeset
166 msn_p2p_header_from_wire(MsnP2PInfo *info, const char *wire, size_t max_len);
30967
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
167
31247
57079aab03d0 Change SLP P2P functions to use the new buffer access functions
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31237
diff changeset
168 char *
31367
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
169 msn_p2p_header_to_wire(MsnP2PInfo *info, size_t *len);
30967
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
170
31367
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
171 size_t
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
172 msn_p2p_footer_from_wire(MsnP2PInfo *info, const char *wire);
30984
2898559aaaa7 Add P2PFooter helper functions.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30976
diff changeset
173
31247
57079aab03d0 Change SLP P2P functions to use the new buffer access functions
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31237
diff changeset
174 char *
31367
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
175 msn_p2p_footer_to_wire(MsnP2PInfo *info, size_t *len);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
176
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
177 void
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
178 msn_p2p_info_to_string(MsnP2PInfo *info, GString *str);
30984
2898559aaaa7 Add P2PFooter helper functions.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30976
diff changeset
179
31070
2a60d87864b9 Avoid duplicated code using a util function to check the flags.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31065
diff changeset
180 gboolean
31773
4de9d3a046be Try to hide msn_p2p_info_get_flags as much as possible, since it may
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31772
diff changeset
181 msn_p2p_msg_is_data(const MsnP2PInfo *info);
31070
2a60d87864b9 Avoid duplicated code using a util function to check the flags.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31065
diff changeset
182
31367
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
183 gboolean
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
184 msn_p2p_info_is_valid(MsnP2PInfo *info);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
185
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
186 gboolean
31791
d09a1b6dc386 Hide some offset occurrences and define a couple of abstractions in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31790
diff changeset
187 msn_p2p_info_is_first(MsnP2PInfo *info);
d09a1b6dc386 Hide some offset occurrences and define a couple of abstractions in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31790
diff changeset
188
d09a1b6dc386 Hide some offset occurrences and define a couple of abstractions in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31790
diff changeset
189 gboolean
31367
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
190 msn_p2p_info_is_final(MsnP2PInfo *info);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
191
31771
26e1c519295f Add P2Pv2 ack'ing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31769
diff changeset
192 void
26e1c519295f Add P2Pv2 ack'ing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31769
diff changeset
193 msn_p2p_info_create_ack(MsnP2PInfo *old_info, MsnP2PInfo *new_info);
26e1c519295f Add P2Pv2 ack'ing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31769
diff changeset
194
31772
ad88c7c133a3 Only send acks on p2pv2 when required.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31771
diff changeset
195 gboolean
ad88c7c133a3 Only send acks on p2pv2 when required.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31771
diff changeset
196 msn_p2p_info_require_ack(MsnP2PInfo *info);
ad88c7c133a3 Only send acks on p2pv2 when required.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31771
diff changeset
197
31773
4de9d3a046be Try to hide msn_p2p_info_get_flags as much as possible, since it may
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31772
diff changeset
198 gboolean
4de9d3a046be Try to hide msn_p2p_info_get_flags as much as possible, since it may
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31772
diff changeset
199 msn_p2p_info_is_ack(MsnP2PInfo *info);
4de9d3a046be Try to hide msn_p2p_info_get_flags as much as possible, since it may
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31772
diff changeset
200
4de9d3a046be Try to hide msn_p2p_info_get_flags as much as possible, since it may
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31772
diff changeset
201 void
4de9d3a046be Try to hide msn_p2p_info_get_flags as much as possible, since it may
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31772
diff changeset
202 msn_p2p_info_init_first(MsnP2PInfo *new_info, MsnP2PInfo *old_info);
4de9d3a046be Try to hide msn_p2p_info_get_flags as much as possible, since it may
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31772
diff changeset
203
31367
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
204 guint32
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
205 msn_p2p_info_get_session_id(MsnP2PInfo *info);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
206
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
207 guint32
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
208 msn_p2p_info_get_id(MsnP2PInfo *info);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
209
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
210 guint64
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
211 msn_p2p_info_get_offset(MsnP2PInfo *info);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
212
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
213 guint64
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
214 msn_p2p_info_get_total_size(MsnP2PInfo *info);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
215
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
216 guint32
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
217 msn_p2p_info_get_length(MsnP2PInfo *info);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
218
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
219 guint32
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
220 msn_p2p_info_get_flags(MsnP2PInfo *info);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
221
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
222 guint32
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
223 msn_p2p_info_get_ack_id(MsnP2PInfo *info);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
224
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
225 guint32
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
226 msn_p2p_info_get_ack_sub_id(MsnP2PInfo *info);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
227
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
228 guint64
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
229 msn_p2p_info_get_ack_size(MsnP2PInfo *info);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
230
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
231 guint32
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
232 msn_p2p_info_get_app_id(MsnP2PInfo *info);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
233
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
234 void
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
235 msn_p2p_info_set_session_id(MsnP2PInfo *info, guint32 session_id);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
236
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
237 void
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
238 msn_p2p_info_set_id(MsnP2PInfo *info, guint32 id);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
239
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
240 void
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
241 msn_p2p_info_set_offset(MsnP2PInfo *info, guint64 offset);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
242
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
243 void
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
244 msn_p2p_info_set_total_size(MsnP2PInfo *info, guint64 total_size);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
245
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
246 void
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
247 msn_p2p_info_set_length(MsnP2PInfo *info, guint32 length);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
248
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
249 void
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
250 msn_p2p_info_set_flags(MsnP2PInfo *info, guint32 flags);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
251
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
252 void
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
253 msn_p2p_info_set_ack_id(MsnP2PInfo *info, guint32 ack_id);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
254
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
255 void
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
256 msn_p2p_info_set_ack_sub_id(MsnP2PInfo *info, guint32 ack_sub_id);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
257
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
258 void
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
259 msn_p2p_info_set_ack_size(MsnP2PInfo *info, guint64 ack_size);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
260
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
261 void
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
262 msn_p2p_info_set_app_id(MsnP2PInfo *info, guint32 app_id);
743e9d0967aa Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31296
diff changeset
263
30967
578391ef28a4 Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff changeset
264 #endif /* MSN_P2P_H */

mercurial