Thu, 10 Mar 2011 05:00:17 +0000
Add a maximum length when parsing the P2P wire data.
|
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; |
|
31041
60e29347974b
Add initial P2Pv2 header definition.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31001
diff
changeset
|
53 | } MsnP2Pv2Header; |
|
60e29347974b
Add initial P2Pv2 header definition.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31001
diff
changeset
|
54 | |
|
30970
432037e01d4f
Drop MsnSlpFooter in favor of MsnP2pFooter.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
30968
diff
changeset
|
55 | typedef struct |
|
432037e01d4f
Drop MsnSlpFooter in favor of MsnP2pFooter.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
30968
diff
changeset
|
56 | { |
|
432037e01d4f
Drop MsnSlpFooter in favor of MsnP2pFooter.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
30968
diff
changeset
|
57 | guint32 value; |
|
432037e01d4f
Drop MsnSlpFooter in favor of MsnP2pFooter.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
30968
diff
changeset
|
58 | } 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
|
59 | #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
|
60 | |
|
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
|
61 | 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
|
62 | { |
|
a9c9f5b22102
Add P2Pv2 header information to the P2P info struct. Of course, all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31367
diff
changeset
|
63 | 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
|
64 | 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
|
65 | } 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
|
66 | |
|
31367
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
67 | 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
|
68 | 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
|
69 | 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
|
70 | 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
|
71 | 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
|
72 | } header; |
|
31367
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
73 | MsnP2PFooter footer; |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
74 | } MsnP2PInfo; |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
75 | |
|
30967
578391ef28a4
Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
76 | typedef enum |
|
578391ef28a4
Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
77 | { |
|
578391ef28a4
Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
78 | P2P_NO_FLAG = 0x0, /**< No flags specified */ |
|
578391ef28a4
Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
79 | 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
|
80 | P2P_ACK = 0x2, /**< Acknowledgement */ |
|
578391ef28a4
Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
81 | 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
|
82 | 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
|
83 | P2P_FILE = 0x10, /**< File */ |
|
30967
578391ef28a4
Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
84 | 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
|
85 | 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
|
86 | 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
|
87 | 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
|
88 | 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
|
89 | P2P_FILE_DATA = 0x1000030 /**< File transfer data */ |
|
578391ef28a4
Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
90 | } MsnP2PHeaderFlag; |
|
578391ef28a4
Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
91 | /* Info From: |
|
578391ef28a4
Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
92 | * 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
|
93 | * http://trac.kmess.org/changeset/ba04d0c825769d23370511031c47f6be75fe9b86 |
|
578391ef28a4
Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
94 | * #7180 |
|
578391ef28a4
Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
95 | */ |
|
578391ef28a4
Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
96 | |
|
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
|
97 | 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
|
98 | { |
| 31237 | 99 | 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
|
100 | 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
|
101 | 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
|
102 | 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
|
103 | 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
|
104 | } 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
|
105 | |
|
31367
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
106 | 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
|
107 | 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
|
108 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
109 | MsnP2PInfo * |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
110 | 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
|
111 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
112 | void |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
113 | 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
|
114 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
115 | 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
|
116 | 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
|
117 | |
|
31247
57079aab03d0
Change SLP P2P functions to use the new buffer access functions
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31237
diff
changeset
|
118 | char * |
|
31367
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
119 | 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
|
120 | |
|
31367
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
121 | size_t |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
122 | 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
|
123 | |
|
31247
57079aab03d0
Change SLP P2P functions to use the new buffer access functions
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31237
diff
changeset
|
124 | char * |
|
31367
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
125 | 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
|
126 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
127 | void |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
128 | 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
|
129 | |
|
31070
2a60d87864b9
Avoid duplicated code using a util function to check the flags.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31065
diff
changeset
|
130 | gboolean |
|
2a60d87864b9
Avoid duplicated code using a util function to check the flags.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31065
diff
changeset
|
131 | msn_p2p_msg_is_data(const MsnP2PHeaderFlag flags); |
|
2a60d87864b9
Avoid duplicated code using a util function to check the flags.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
31065
diff
changeset
|
132 | |
|
31367
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
133 | gboolean |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
134 | 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
|
135 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
136 | gboolean |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
137 | 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
|
138 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
139 | guint32 |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
140 | 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
|
141 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
142 | guint32 |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
143 | 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
|
144 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
145 | guint64 |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
146 | 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
|
147 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
148 | guint64 |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
149 | 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
|
150 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
151 | guint32 |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
152 | 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
|
153 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
154 | guint32 |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
155 | 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
|
156 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
157 | guint32 |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
158 | 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
|
159 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
160 | guint32 |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
161 | 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
|
162 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
163 | guint64 |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
164 | 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
|
165 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
166 | guint32 |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
167 | 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
|
168 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
169 | void |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
170 | 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
|
171 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
172 | void |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
173 | 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
|
174 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
175 | void |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
176 | 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
|
177 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
178 | void |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
179 | 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
|
180 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
181 | void |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
182 | 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
|
183 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
184 | void |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
185 | 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
|
186 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
187 | void |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
188 | 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
|
189 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
190 | void |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
191 | 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
|
192 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
193 | void |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
194 | 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
|
195 | |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
196 | void |
|
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
197 | 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
|
198 | |
|
30967
578391ef28a4
Actually add the new file.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
diff
changeset
|
199 | #endif /* MSN_P2P_H */ |
|
31367
743e9d0967aa
Try to hide all P2P fields away behind accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31296
diff
changeset
|
200 |