libpurple/protocols/msn/msnutils.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 35162
5c50bf2c616c
permissions
-rw-r--r--

Merged default branch

5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
20483
45d3a4773e1b propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
2 * @file msnutils.h Utility functions
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
4 * purple
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
6 * Purple is the legal property of its developers, whose names are too numerous
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
7 * to list here. Please refer to the COPYRIGHT file distributed with this
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
8 * source distribution.
6701
7e2db9273748 [gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents: 6358
diff changeset
9 *
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 * This program is free software; you can redistribute it and/or modify
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 * it under the terms of the GNU General Public License as published by
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * (at your option) any later version.
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 *
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * This program is distributed in the hope that it will be useful,
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * GNU General Public License for more details.
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 *
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 * You should have received a copy of the GNU General Public License
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * along with this program; 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: 15884
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 */
29305
202cb72ed5b0 Minor header file cleanup. Mostly I wanted to move some enums above some #includes
Mark Doliner <markdoliner@pidgin.im>
parents: 20747
diff changeset
24 #ifndef MSN_UTILS_H
202cb72ed5b0 Minor header file cleanup. Mostly I wanted to move some enums above some #includes
Mark Doliner <markdoliner@pidgin.im>
parents: 20747
diff changeset
25 #define MSN_UTILS_H
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26
20483
45d3a4773e1b propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
27 /*encode the str to RFC2047 style*/
29305
202cb72ed5b0 Minor header file cleanup. Mostly I wanted to move some enums above some #includes
Mark Doliner <markdoliner@pidgin.im>
parents: 20747
diff changeset
28 char *msn_encode_mime(const char *str);
20483
45d3a4773e1b propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
29
45d3a4773e1b propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
30 /**
45d3a4773e1b propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
31 * Generate the Random GUID
45d3a4773e1b propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
32 */
29305
202cb72ed5b0 Minor header file cleanup. Mostly I wanted to move some enums above some #includes
Mark Doliner <markdoliner@pidgin.im>
parents: 20747
diff changeset
33 char *rand_guid(void);
20483
45d3a4773e1b propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
34
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35 /**
31204
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30948
diff changeset
36 * Encodes the spaces in a string
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30948
diff changeset
37 *
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30948
diff changeset
38 * @param str The string to be encoded.
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30948
diff changeset
39 * @param buf The buffer to hold the encoded string.
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30948
diff changeset
40 * @param len The maximum length (including NUL) to put in @buf.
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30948
diff changeset
41 *
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30948
diff changeset
42 * @return Whether @str was able to fit in @buf.
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30948
diff changeset
43 */
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30948
diff changeset
44 gboolean
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30948
diff changeset
45 msn_encode_spaces(const char *str, char *buf, size_t len);
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30948
diff changeset
46
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30948
diff changeset
47 /**
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
48 * Parses the MSN message formatting into a format compatible with Purple.
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
49 *
6358
c3347685b9ef [gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
50 * @param mime The mime header with the formatting.
c3347685b9ef [gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
51 * @param pre_ret The returned prefix string.
c3347685b9ef [gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
52 * @param post_ret The returned postfix string.
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 *
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54 * @return The new message.
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55 */
6358
c3347685b9ef [gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
56 void msn_parse_format(const char *mime, char **pre_ret, char **post_ret);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
57
8595
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8530
diff changeset
58 /**
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
59 * Parses the Purple message formatting (html) into the MSN format.
8595
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8530
diff changeset
60 *
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8530
diff changeset
61 * @param html The html message to format.
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8530
diff changeset
62 * @param attributes The returned attributes string.
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8530
diff changeset
63 * @param message The returned message string.
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8530
diff changeset
64 *
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8530
diff changeset
65 * @return The new message.
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8530
diff changeset
66 */
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8530
diff changeset
67 void msn_import_html(const char *html, char **attributes, char **message);
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8530
diff changeset
68
30904
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
69 /**
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
70 * Parses a socket string.
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
71 *
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
72 * @param str A host:port string.
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
73 * @param ret_host Return string value of the host.
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
74 * @param ret_port Return integer value of the port.
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
75 */
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8595
diff changeset
76 void msn_parse_socket(const char *str, char **ret_host, int *ret_port);
30904
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
77
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
78 /**
32091
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31246
diff changeset
79 * Parses a user name
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31246
diff changeset
80 *
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31246
diff changeset
81 * @param str A network:username string.
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31246
diff changeset
82 * @param ret_user Return of the user's passport.
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31246
diff changeset
83 * @param ret_network Return of the user's network.
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31246
diff changeset
84 */
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31246
diff changeset
85 void msn_parse_user(const char *str, char **ret_user, int *ret_network);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31246
diff changeset
86
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31246
diff changeset
87 /**
30948
7c0f65436e40 msn_email_is_valid looks a lot like a util function, move it there.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30904
diff changeset
88 * Verify if the email is a vaild passport.
7c0f65436e40 msn_email_is_valid looks a lot like a util function, move it there.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30904
diff changeset
89 *
7c0f65436e40 msn_email_is_valid looks a lot like a util function, move it there.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30904
diff changeset
90 * @param passport The email
7c0f65436e40 msn_email_is_valid looks a lot like a util function, move it there.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30904
diff changeset
91 *
7c0f65436e40 msn_email_is_valid looks a lot like a util function, move it there.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30904
diff changeset
92 * @return True if it is a valid passport, else FALSE
7c0f65436e40 msn_email_is_valid looks a lot like a util function, move it there.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30904
diff changeset
93 */
7c0f65436e40 msn_email_is_valid looks a lot like a util function, move it there.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30904
diff changeset
94 gboolean msn_email_is_valid(const char *passport);
7c0f65436e40 msn_email_is_valid looks a lot like a util function, move it there.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30904
diff changeset
95
7c0f65436e40 msn_email_is_valid looks a lot like a util function, move it there.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30904
diff changeset
96 /**
30904
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
97 * Handle MSN Challenge Computation
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
98 * This algorithm references
35162
5c50bf2c616c Fix links.
Mark Doliner <mark@kingant.net>
parents: 32091
diff changeset
99 * https://imfreedom.org/wiki/MSN:NS/Challenges
30904
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
100 *
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
101 * @param input Challenge input.
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
102 * @param output Callenge output.
fb83e7d177c9 Document msnutils.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29305
diff changeset
103 */
20483
45d3a4773e1b propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
104 void msn_handle_chl(char *input, char *output);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8595
diff changeset
105
31246
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
106 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
107 * Read a byte from a buffer
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
108 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
109 * @param buf Pointer to buffer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
110 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
111 * @return 8-bit byte
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
112 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
113 guint8 msn_read8(const char *buf);
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
114
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
115 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
116 * Read a little-endian short from a buffer
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
117 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
118 * @param buf Pointer to buffer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
119 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
120 * @return 16-bit short
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
121 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
122 guint16 msn_read16le(const char *buf);
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
123
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
124 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
125 * Read a big-endian short from a buffer
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
126 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
127 * @param buf Pointer to buffer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
128 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
129 * @return 16-bit short
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
130 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
131 guint16 msn_read16be(const char *buf);
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
132
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
133 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
134 * Read a little-endian int from a buffer
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
135 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
136 * @param buf Pointer to buffer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
137 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
138 * @return 32-bit int
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
139 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
140 guint32 msn_read32le(const char *buf);
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
141
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
142 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
143 * Read a big-endian int from a buffer
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
144 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
145 * @param buf Pointer to buffer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
146 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
147 * @return 32-bit int
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
148 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
149 guint32 msn_read32be(const char *buf);
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
150
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
151 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
152 * Read a little-endian long from a buffer
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
153 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
154 * @param buf Pointer to buffer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
155 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
156 * @return 64-bit long
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
157 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
158 guint64 msn_read64le(const char *buf);
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
159
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
160 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
161 * Read a big-endian long from a buffer
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
162 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
163 * @param buf Pointer to buffer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
164 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
165 * @return 64-bit long
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
166 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
167 guint64 msn_read64be(const char *buf);
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
168
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
169 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
170 * Write a byte to a buffer
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
171 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
172 * @param buf Pointer to buffer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
173 * @param data 8-bit byte.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
174 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
175 void msn_write8(char *buf, guint8 data);
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
176
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
177 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
178 * Write a little-endian short to a buffer
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
179 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
180 * @param buf Pointer to buffer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
181 * @param data short.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
182 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
183 void msn_write16le(char *buf, guint16 data);
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
184
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
185 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
186 * Write a big-endian short to a buffer
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
187 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
188 * @param buf Pointer to buffer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
189 * @param data short.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
190 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
191 void msn_write16be(char *buf, guint16 data);
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
192
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
193 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
194 * Write a little-endian int to a buffer
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
195 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
196 * @param buf Pointer to buffer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
197 * @param data int.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
198 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
199 void msn_write32le(char *buf, guint32 data);
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
200
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
201 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
202 * Write a big-endian int to a buffer
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
203 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
204 * @param buf Pointer to buffer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
205 * @param data int.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
206 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
207 void msn_write32be(char *buf, guint32 data);
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
208
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
209 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
210 * Write a little-endian long to a buffer
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
211 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
212 * @param buf Pointer to buffer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
213 * @param data long.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
214 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
215 void msn_write64le(char *buf, guint64 data);
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
216
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
217 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
218 * Write a big-endian long to a buffer
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
219 *
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
220 * @param buf Pointer to buffer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
221 * @param data short
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
222 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
223 void msn_write64be(char *buf, guint64 data);
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
224
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
225 /**
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
226 * Same as above, but these increment the buf pointer.
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
227 */
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
228 #define msn_pop8(buf) msn_read8((buf+=1)-1)
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
229 #define msn_pop16le(buf) msn_read16le((buf+=2)-2)
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
230 #define msn_pop16be(buf) msn_read16be((buf+=2)-2)
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
231 #define msn_pop32le(buf) msn_read32le((buf+=4)-4)
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
232 #define msn_pop32be(buf) msn_read32be((buf+=4)-4)
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
233 #define msn_pop64le(buf) msn_read64le((buf+=8)-8)
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
234 #define msn_pop64be(buf) msn_read64be((buf+=8)-8)
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
235 #define msn_push8(buf, data) msn_write8(buf, data), buf+=1
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
236 #define msn_push16le(buf, data) msn_write16le(buf, data), buf+=2
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
237 #define msn_push16be(buf, data) msn_write16be(buf, data), buf+=2
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
238 #define msn_push32le(buf, data) msn_write32le(buf, data), buf+=4
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
239 #define msn_push32be(buf, data) msn_write32be(buf, data), buf+=4
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
240 #define msn_push64le(buf, data) msn_write64le(buf, data), buf+=8
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
241 #define msn_push64be(buf, data) msn_write64be(buf, data), buf+=8
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
242
29305
202cb72ed5b0 Minor header file cleanup. Mostly I wanted to move some enums above some #includes
Mark Doliner <markdoliner@pidgin.im>
parents: 20747
diff changeset
243 #endif /* MSN_UTILS_H */
31246
f770097c7efc Add some buffer reading/writing functions. I don't know if these are
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31204
diff changeset
244

mercurial