libpurple/protocols/qq/packet_parse.h

Wed, 22 Oct 2008 15:08:30 +0000

author
SHiNE CsyFeK <csyfek@gmail.com>
date
Wed, 22 Oct 2008 15:08:30 +0000
branch
openq
changeset 24360
f7e260e79429
parent 24346
98c009d1f4e0
child 31293
169eeb43b52c
permissions
-rw-r--r--

2008.10.08 - ccpaging <ccpaging(at)gmail.com>
* Update group part
* Delete some meaningless functions and data
* Added 'change my icon'
2008.10.08 - lonicerae <lonicerae(at)gmail.com>
* Merge 20081008 patch into trunk

13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
1 /**
15087
78879d4adf13 [gaim-migrate @ 17807]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 14254
diff changeset
2 * @file packet_parse.h
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
3 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
4 * purple
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
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
15087
78879d4adf13 [gaim-migrate @ 17807]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 14254
diff changeset
7 * to list here. Please refer to the COPYRIGHT file distributed with this
78879d4adf13 [gaim-migrate @ 17807]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents: 14254
diff changeset
8 * source distribution.
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
9 *
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
10 * This program is free software; you can redistribute it and/or modify
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
11 * it under the terms of the GNU General Public License as published by
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
13 * (at your option) any later version.
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
14 *
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
15 * This program is distributed in the hope that it will be useful,
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
18 * GNU General Public License for more details.
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
19 *
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
20 * You should have received a copy of the GNU General Public License
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
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: 18231
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
23 */
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
24
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
25 #ifndef _QQ_PACKET_PARSE_H_
21712
2702e711166c Include guards for gnt and include guard typo fix for QQ, from Andrew
Ka-Hing Cheung <khc@pidgin.im>
parents: 19859
diff changeset
26 #define _QQ_PACKET_PARSE_H_
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
27
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
28 #include <glib.h>
18231
12ff623520d0 Fix a compile error
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 18213
diff changeset
29 #include <time.h>
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
30
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
31 /* According to "UNIX Network Programming", all TCP/IP implementations
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
32 * must support a minimum IP datagram size of 576 bytes, regardless of the MTU.
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
33 * Assuming a 20 byte IP header and 8 byte UDP header, this leaves 548 bytes
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
34 * as a safe maximum size for UDP messages.
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
35 *
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
36 * TCP allows packet 64K
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
37 */
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
38 #define MAX_PACKET_SIZE 65535
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
39
24023
b094010ebb9e Reapplied changes that were overwritten by 91f0294f2377e3870982f3e573e0dfb4230d9c11.
Daniel Atallah <datallah@pidgin.im>
parents: 24018
diff changeset
40 #ifndef _WIN32
23950
a974649cdb89 2008.08.02 - csyfek <csyfek(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23193
diff changeset
41 #include <netinet/in.h>
24023
b094010ebb9e Reapplied changes that were overwritten by 91f0294f2377e3870982f3e573e0dfb4230d9c11.
Daniel Atallah <datallah@pidgin.im>
parents: 24018
diff changeset
42 #else
b094010ebb9e Reapplied changes that were overwritten by 91f0294f2377e3870982f3e573e0dfb4230d9c11.
Daniel Atallah <datallah@pidgin.im>
parents: 24018
diff changeset
43 #include "win32dep.h"
b094010ebb9e Reapplied changes that were overwritten by 91f0294f2377e3870982f3e573e0dfb4230d9c11.
Daniel Atallah <datallah@pidgin.im>
parents: 24018
diff changeset
44 #endif
23950
a974649cdb89 2008.08.02 - csyfek <csyfek(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23193
diff changeset
45
23190
ce258cadbd9e patch-02-fix-multiarch
SHiNE CsyFeK <csyfek@gmail.com>
parents: 21712
diff changeset
46 gint qq_get8(guint8 *b, guint8 *buf);
ce258cadbd9e patch-02-fix-multiarch
SHiNE CsyFeK <csyfek@gmail.com>
parents: 21712
diff changeset
47 gint qq_get16(guint16 *w, guint8 *buf);
ce258cadbd9e patch-02-fix-multiarch
SHiNE CsyFeK <csyfek@gmail.com>
parents: 21712
diff changeset
48 gint qq_get32(guint32 *dw, guint8 *buf);
23950
a974649cdb89 2008.08.02 - csyfek <csyfek(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23193
diff changeset
49 gint qq_getIP(struct in_addr *ip, guint8 *buf);
23190
ce258cadbd9e patch-02-fix-multiarch
SHiNE CsyFeK <csyfek@gmail.com>
parents: 21712
diff changeset
50 gint qq_getime(time_t *t, guint8 *buf);
ce258cadbd9e patch-02-fix-multiarch
SHiNE CsyFeK <csyfek@gmail.com>
parents: 21712
diff changeset
51 gint qq_getdata(guint8 *data, gint datalen, guint8 *buf);
ce258cadbd9e patch-02-fix-multiarch
SHiNE CsyFeK <csyfek@gmail.com>
parents: 21712
diff changeset
52
ce258cadbd9e patch-02-fix-multiarch
SHiNE CsyFeK <csyfek@gmail.com>
parents: 21712
diff changeset
53 gint qq_put8(guint8 *buf, guint8 b);
ce258cadbd9e patch-02-fix-multiarch
SHiNE CsyFeK <csyfek@gmail.com>
parents: 21712
diff changeset
54 gint qq_put16(guint8 *buf, guint16 w);
ce258cadbd9e patch-02-fix-multiarch
SHiNE CsyFeK <csyfek@gmail.com>
parents: 21712
diff changeset
55 gint qq_put32(guint8 *buf, guint32 dw);
23950
a974649cdb89 2008.08.02 - csyfek <csyfek(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23193
diff changeset
56 gint qq_putIP(guint8* buf, struct in_addr *ip);
24346
98c009d1f4e0 2009.10.02 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents: 24023
diff changeset
57 gint qq_putime(guint8 *buf, time_t *t);
23192
2f00b04db5cb patch-04-tcp-pending
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23190
diff changeset
58 gint qq_putdata(guint8 *buf, const guint8 *data, const int datalen);
23190
ce258cadbd9e patch-02-fix-multiarch
SHiNE CsyFeK <csyfek@gmail.com>
parents: 21712
diff changeset
59
23193
384ba35bfa8f patch-05-reconnect-and-code-cleanup
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23192
diff changeset
60 /*
384ba35bfa8f patch-05-reconnect-and-code-cleanup
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23192
diff changeset
61 gint read_packet_b(guint8 *buf, guint8 **cursor, gint buflen, guint8 *b);
384ba35bfa8f patch-05-reconnect-and-code-cleanup
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23192
diff changeset
62 gint read_packet_w(guint8 *buf, guint8 **cursor, gint buflen, guint16 *w);
384ba35bfa8f patch-05-reconnect-and-code-cleanup
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23192
diff changeset
63 gint read_packet_dw(guint8 *buf, guint8 **cursor, gint buflen, guint32 *dw);
384ba35bfa8f patch-05-reconnect-and-code-cleanup
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23192
diff changeset
64 gint read_packet_time(guint8 *buf, guint8 **cursor, gint buflen, time_t *t);
384ba35bfa8f patch-05-reconnect-and-code-cleanup
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23192
diff changeset
65 gint read_packet_data(guint8 *buf, guint8 **cursor, gint buflen, guint8 *data, gint datalen);
23190
ce258cadbd9e patch-02-fix-multiarch
SHiNE CsyFeK <csyfek@gmail.com>
parents: 21712
diff changeset
66
23193
384ba35bfa8f patch-05-reconnect-and-code-cleanup
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23192
diff changeset
67 gint create_packet_b(guint8 *buf, guint8 **cursor, guint8 b);
384ba35bfa8f patch-05-reconnect-and-code-cleanup
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23192
diff changeset
68 gint create_packet_w(guint8 *buf, guint8 **cursor, guint16 w);
384ba35bfa8f patch-05-reconnect-and-code-cleanup
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23192
diff changeset
69 gint create_packet_dw(guint8 *buf, guint8 **cursor, guint32 dw);
384ba35bfa8f patch-05-reconnect-and-code-cleanup
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23192
diff changeset
70 gint create_packet_data(guint8 *buf, guint8 **cursor, guint8 *data, gint datalen);
384ba35bfa8f patch-05-reconnect-and-code-cleanup
SHiNE CsyFeK <csyfek@gmail.com>
parents: 23192
diff changeset
71 */
13932
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
72
4d131bd2b40f [gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff changeset
73 #endif

mercurial