src/protocols/oscar/aim.h

Sun, 02 Jan 2005 07:20:38 +0000

author
Mark Doliner <markdoliner@pidgin.im>
date
Sun, 02 Jan 2005 07:20:38 +0000
changeset 10464
034b1b3ad2be
parent 10344
09d0502090b3
child 10570
54b00f6b9147
permissions
-rw-r--r--

[gaim-migrate @ 11739]
SecurID support for AIM. This is untested. I'll try to get it tested
in the next few days. I'm backporting this to oldstatus. If you don't
know what SecurID, google around for it.

Basically it's an optional additional authentication method that
AOL members can opt for (and pay an extra fee). After entering your
password, you are prompted for a 6 digit number from a digit readout/
keychain-sized LCD screen. This number is pseudo-random and changes
every 60 seconds.

8978
38af990ff584 [gaim-migrate @ 9752]
Tim Ringenbach <marv@pidgin.im>
parents: 8880
diff changeset
1 /*
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2 * Main libfaim header. Must be included in client for prototypes/macros.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
3 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
4 * "come on, i turned a chick lesbian; i think this is the hackish equivalent"
4194
dbe45b0c38fa [gaim-migrate @ 4425]
Mark Doliner <markdoliner@pidgin.im>
parents: 4173
diff changeset
5 * -- Josh Myer
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
6 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
7 */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
8
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
9 #ifndef __AIM_H__
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
10 #define __AIM_H__
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
11
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
12 #define FAIM_VERSION_MAJOR 0
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
13 #define FAIM_VERSION_MINOR 99
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
14 #define FAIM_VERSION_MINORMINOR 1
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
16 #include <faimconfig.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17 #include <aim_cbtypes.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
18
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
19 #include <stdio.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20 #include <string.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21 #include <fcntl.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
22 #include <sys/types.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
23 #include <stdlib.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
24 #include <stdarg.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
25 #include <errno.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
26 #include <time.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
27
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3595
diff changeset
28 #ifndef _WIN32
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
29 #include <sys/time.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
30 #include <unistd.h>
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
31 #include <netdb.h>
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
32 #include <netinet/in.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
33 #include <sys/socket.h>
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3595
diff changeset
34 #else
8244
014ff38feea9 [gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents: 8240
diff changeset
35 #include "libc_interface.h"
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
36 #endif
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
37
6322
35fdae8a156f [gaim-migrate @ 6821]
Mark Doliner <markdoliner@pidgin.im>
parents: 6318
diff changeset
38 #ifdef __cplusplus
35fdae8a156f [gaim-migrate @ 6821]
Mark Doliner <markdoliner@pidgin.im>
parents: 6318
diff changeset
39 extern "C" {
35fdae8a156f [gaim-migrate @ 6821]
Mark Doliner <markdoliner@pidgin.im>
parents: 6318
diff changeset
40 #endif
35fdae8a156f [gaim-migrate @ 6821]
Mark Doliner <markdoliner@pidgin.im>
parents: 6318
diff changeset
41
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
42 /* XXX adjust these based on autoconf-detected platform */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
43 typedef unsigned char fu8_t;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
44 typedef unsigned short fu16_t;
5556
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
45 typedef unsigned int fu32_t;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
46 typedef fu32_t aim_snacid_t;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
47 typedef fu16_t flap_seqnum_t;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
48
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
49 #if defined(mach) && defined(__APPLE__)
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
50 #define gethostbyname(x) gethostbyname2(x, AF_INET)
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
51 #endif
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
52
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
53 #if defined(_WIN32) && !defined(WIN32_STATIC)
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
54 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
55 * For a win32 DLL, we define WIN32_INDLL if this file
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
56 * is included while compiling the DLL. If its not
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
57 * defined (its included in a client app), the symbols
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
58 * will be imported instead of exported.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
59 */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
60 #ifdef WIN32_INDLL
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
61 #define faim_export __declspec(dllexport)
10021
5aa380278a15 [gaim-migrate @ 10946]
Mark Doliner <markdoliner@pidgin.im>
parents: 9975
diff changeset
62 #else
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
63 #define faim_export __declspec(dllimport)
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
64 #endif /* WIN32_INDLL */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
65 #define faim_internal
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
66 #else
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
67 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
68 * Nothing normally needed for unix...
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
69 */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
70 #define faim_export
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
71 #define faim_internal
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
72 #endif
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
73
6322
35fdae8a156f [gaim-migrate @ 6821]
Mark Doliner <markdoliner@pidgin.im>
parents: 6318
diff changeset
74 #ifndef FALSE
35fdae8a156f [gaim-migrate @ 6821]
Mark Doliner <markdoliner@pidgin.im>
parents: 6318
diff changeset
75 #define FALSE (0)
35fdae8a156f [gaim-migrate @ 6821]
Mark Doliner <markdoliner@pidgin.im>
parents: 6318
diff changeset
76 #endif
35fdae8a156f [gaim-migrate @ 6821]
Mark Doliner <markdoliner@pidgin.im>
parents: 6318
diff changeset
77
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
78 #ifndef TRUE
6322
35fdae8a156f [gaim-migrate @ 6821]
Mark Doliner <markdoliner@pidgin.im>
parents: 6318
diff changeset
79 #define TRUE (!FALSE)
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
80 #endif
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
81
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
82 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
83 * Current Maximum Length for Screen Names (not including NULL)
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
84 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
85 * Currently only names up to 16 characters can be registered
8735
01248ea222d3 [gaim-migrate @ 9490]
Jonathan Champ <royanee@users.sourceforge.net>
parents: 8708
diff changeset
86 * however it is apparently legal for them to be larger.
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
87 */
4908
6258f11ff13c [gaim-migrate @ 5242]
Sean Egan <seanegan@pidgin.im>
parents: 4901
diff changeset
88 #define MAXSNLEN 97
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
89
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
90 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
91 * Current Maximum Length for Instant Messages
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
92 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
93 * This was found basically by experiment, but not wholly
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
94 * accurate experiment. It should not be regarded
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
95 * as completely correct. But its a decent approximation.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
96 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
97 * Note that although we can send this much, its impossible
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
98 * for WinAIM clients (up through the latest (4.0.1957)) to
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
99 * send any more than 1kb. Amaze all your windows friends
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
100 * with utterly oversized instant messages!
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
101 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
102 * XXX: the real limit is the total SNAC size at 8192. Fix this.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
103 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
104 */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
105 #define MAXMSGLEN 7987
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
106
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
107 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
108 * Maximum size of a Buddy Icon.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
109 */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
110 #define MAXICONLEN 7168
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
111 #define AIM_ICONIDENT "AVT1picture.id"
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
112
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
113 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
114 * Current Maximum Length for Chat Room Messages
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
115 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
116 * This is actually defined by the protocol to be
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
117 * dynamic, but I have yet to see due cause to
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
118 * define it dynamically here. Maybe later.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
119 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
120 */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
121 #define MAXCHATMSGLEN 512
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
122
5345
665b4fdd094a [gaim-migrate @ 5721]
Mark Doliner <markdoliner@pidgin.im>
parents: 5146
diff changeset
123 /**
665b4fdd094a [gaim-migrate @ 5721]
Mark Doliner <markdoliner@pidgin.im>
parents: 5146
diff changeset
124 * Maximum length for the password of an ICQ account
665b4fdd094a [gaim-migrate @ 5721]
Mark Doliner <markdoliner@pidgin.im>
parents: 5146
diff changeset
125 */
665b4fdd094a [gaim-migrate @ 5721]
Mark Doliner <markdoliner@pidgin.im>
parents: 5146
diff changeset
126 #define MAXICQPASSLEN 8
665b4fdd094a [gaim-migrate @ 5721]
Mark Doliner <markdoliner@pidgin.im>
parents: 5146
diff changeset
127
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
128 #define AIM_MD5_STRING "AOL Instant Messenger (SM)"
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
129
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
130 /*
2821
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
131 * Client info. Filled in by the client and passed in to
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
132 * aim_send_login(). The information ends up getting passed to OSCAR
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
133 * through the initial login command.
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
134 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
135 */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
136 struct client_info_s {
2821
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
137 const char *clientstring;
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
138 fu16_t clientid;
4070
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
139 fu16_t major;
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
140 fu16_t minor;
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
141 fu16_t point;
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
142 fu16_t build;
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
143 fu32_t distrib;
2821
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
144 const char *country; /* two-letter abbrev */
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
145 const char *lang; /* two-letter abbrev */
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
146 };
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
147
4070
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
148 /* Needs to be checked */
3458
6140a920776b [gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents: 3348
diff changeset
149 #define CLIENTINFO_AIM_3_5_1670 { \
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
150 "AOL Instant Messenger (SM), version 3.5.1670/WIN32", \
2821
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
151 0x0004, \
4070
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
152 0x0003, 0x0005, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
153 0x0000, 0x0686, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
154 0x0000002a, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
155 "us", "en", \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
156 }
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
157
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
158 /* Needs to be checked */
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
159 /* Latest winaim without ssi */
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
160 #define CLIENTINFO_AIM_4_1_2010 { \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
161 "AOL Instant Messenger (SM), version 4.1.2010/WIN32", \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
162 0x0004, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
163 0x0004, 0x0001, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
164 0x0000, 0x07da, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
165 0x0000004b, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
166 "us", "en", \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
167 }
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
168
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
169 /* Needs to be checked */
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
170 #define CLIENTINFO_AIM_4_3_2188 { \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
171 "AOL Instant Messenger (SM), version 4.3.2188/WIN32", \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
172 0x0109, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
173 0x0400, 0x0003, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
174 0x0000, 0x088c, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
175 0x00000086, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
176 "us", "en", \
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
177 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
178
4070
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
179 /* Needs to be checked */
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
180 #define CLIENTINFO_AIM_4_8_2540 { \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
181 "AOL Instant Messenger (SM), version 4.8.2540/WIN32", \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
182 0x0109, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
183 0x0004, 0x0008, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
184 0x0000, 0x09ec, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
185 0x000000af, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
186 "us", "en", \
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
187 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
188
4070
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
189 /* Needs to be checked */
3595
28da7ae040a5 [gaim-migrate @ 3697]
Mark Doliner <markdoliner@pidgin.im>
parents: 3466
diff changeset
190 #define CLIENTINFO_AIM_5_0_2938 { \
4070
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
191 "AOL Instant Messenger, version 5.0.2938/WIN32", \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
192 0x0109, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
193 0x0005, 0x0000, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
194 0x0000, 0x0b7a, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
195 0x00000000, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
196 "us", "en", \
3595
28da7ae040a5 [gaim-migrate @ 3697]
Mark Doliner <markdoliner@pidgin.im>
parents: 3466
diff changeset
197 }
28da7ae040a5 [gaim-migrate @ 3697]
Mark Doliner <markdoliner@pidgin.im>
parents: 3466
diff changeset
198
4070
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
199 #define CLIENTINFO_AIM_5_1_3036 { \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
200 "AOL Instant Messenger, version 5.1.3036/WIN32", \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
201 0x0109, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
202 0x0005, 0x0001, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
203 0x0000, 0x0bdc, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
204 0x000000d2, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
205 "us", "en", \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
206 }
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
207
7253
2e7b7809e002 [gaim-migrate @ 7830]
Mark Doliner <markdoliner@pidgin.im>
parents: 7172
diff changeset
208 #define CLIENTINFO_AIM_5_5_3415 { \
2e7b7809e002 [gaim-migrate @ 7830]
Mark Doliner <markdoliner@pidgin.im>
parents: 7172
diff changeset
209 "AOL Instant Messenger, version 5.5.3415/WIN32", \
2e7b7809e002 [gaim-migrate @ 7830]
Mark Doliner <markdoliner@pidgin.im>
parents: 7172
diff changeset
210 0x0109, \
2e7b7809e002 [gaim-migrate @ 7830]
Mark Doliner <markdoliner@pidgin.im>
parents: 7172
diff changeset
211 0x0005, 0x0005, \
2e7b7809e002 [gaim-migrate @ 7830]
Mark Doliner <markdoliner@pidgin.im>
parents: 7172
diff changeset
212 0x0000, 0x0057, \
2e7b7809e002 [gaim-migrate @ 7830]
Mark Doliner <markdoliner@pidgin.im>
parents: 7172
diff changeset
213 0x000000ef, \
2e7b7809e002 [gaim-migrate @ 7830]
Mark Doliner <markdoliner@pidgin.im>
parents: 7172
diff changeset
214 "us", "en", \
2e7b7809e002 [gaim-migrate @ 7830]
Mark Doliner <markdoliner@pidgin.im>
parents: 7172
diff changeset
215 }
2e7b7809e002 [gaim-migrate @ 7830]
Mark Doliner <markdoliner@pidgin.im>
parents: 7172
diff changeset
216
10464
034b1b3ad2be [gaim-migrate @ 11739]
Mark Doliner <markdoliner@pidgin.im>
parents: 10344
diff changeset
217 #define CLIENTINFO_AIM_5_9_3702 { \
034b1b3ad2be [gaim-migrate @ 11739]
Mark Doliner <markdoliner@pidgin.im>
parents: 10344
diff changeset
218 "AOL Instant Messenger, version 5.9.3702/WIN32", \
034b1b3ad2be [gaim-migrate @ 11739]
Mark Doliner <markdoliner@pidgin.im>
parents: 10344
diff changeset
219 0x0109, \
034b1b3ad2be [gaim-migrate @ 11739]
Mark Doliner <markdoliner@pidgin.im>
parents: 10344
diff changeset
220 0x0005, 0x0009, \
034b1b3ad2be [gaim-migrate @ 11739]
Mark Doliner <markdoliner@pidgin.im>
parents: 10344
diff changeset
221 0x0000, 0x0e76, \
034b1b3ad2be [gaim-migrate @ 11739]
Mark Doliner <markdoliner@pidgin.im>
parents: 10344
diff changeset
222 0x00000111, \
034b1b3ad2be [gaim-migrate @ 11739]
Mark Doliner <markdoliner@pidgin.im>
parents: 10344
diff changeset
223 "us", "en", \
034b1b3ad2be [gaim-migrate @ 11739]
Mark Doliner <markdoliner@pidgin.im>
parents: 10344
diff changeset
224 }
034b1b3ad2be [gaim-migrate @ 11739]
Mark Doliner <markdoliner@pidgin.im>
parents: 10344
diff changeset
225
5917
a79e79eca294 [gaim-migrate @ 6349]
Mark Doliner <markdoliner@pidgin.im>
parents: 5844
diff changeset
226 #define CLIENTINFO_ICHAT_1_0 { \
a79e79eca294 [gaim-migrate @ 6349]
Mark Doliner <markdoliner@pidgin.im>
parents: 5844
diff changeset
227 "Apple iChat", \
a79e79eca294 [gaim-migrate @ 6349]
Mark Doliner <markdoliner@pidgin.im>
parents: 5844
diff changeset
228 0x311a, \
a79e79eca294 [gaim-migrate @ 6349]
Mark Doliner <markdoliner@pidgin.im>
parents: 5844
diff changeset
229 0x0001, 0x0000, \
a79e79eca294 [gaim-migrate @ 6349]
Mark Doliner <markdoliner@pidgin.im>
parents: 5844
diff changeset
230 0x0000, 0x003c, \
a79e79eca294 [gaim-migrate @ 6349]
Mark Doliner <markdoliner@pidgin.im>
parents: 5844
diff changeset
231 0x000000c6, \
a79e79eca294 [gaim-migrate @ 6349]
Mark Doliner <markdoliner@pidgin.im>
parents: 5844
diff changeset
232 "us", "en", \
a79e79eca294 [gaim-migrate @ 6349]
Mark Doliner <markdoliner@pidgin.im>
parents: 5844
diff changeset
233 }
a79e79eca294 [gaim-migrate @ 6349]
Mark Doliner <markdoliner@pidgin.im>
parents: 5844
diff changeset
234
4070
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
235 /* Needs to be checked */
3458
6140a920776b [gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents: 3348
diff changeset
236 #define CLIENTINFO_ICQ_4_65_3281 { \
6140a920776b [gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents: 3348
diff changeset
237 "ICQ Inc. - Product of ICQ (TM) 2000b.4.65.1.3281.85", \
6140a920776b [gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents: 3348
diff changeset
238 0x010a, \
4070
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
239 0x0004, 0x0041, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
240 0x0001, 0x0cd1, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
241 0x00000055, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
242 "us", "en", \
3458
6140a920776b [gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents: 3348
diff changeset
243 }
6140a920776b [gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents: 3348
diff changeset
244
4070
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
245 /* Needs to be checked */
3458
6140a920776b [gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents: 3348
diff changeset
246 #define CLIENTINFO_ICQ_5_34_3728 { \
6140a920776b [gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents: 3348
diff changeset
247 "ICQ Inc. - Product of ICQ (TM).2002a.5.34.1.3728.85", \
6140a920776b [gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents: 3348
diff changeset
248 0x010a, \
4070
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
249 0x0005, 0x0022, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
250 0x0001, 0x0e8f, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
251 0x00000055, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
252 "us", "en", \
3458
6140a920776b [gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents: 3348
diff changeset
253 }
6140a920776b [gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents: 3348
diff changeset
254
4071
f0c425b22b92 [gaim-migrate @ 4283]
Mark Doliner <markdoliner@pidgin.im>
parents: 4070
diff changeset
255 #define CLIENTINFO_ICQ_5_45_3777 { \
4070
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
256 "ICQ Inc. - Product of ICQ (TM).2003a.5.45.1.3777.85", \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
257 0x010a, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
258 0x0005, 0x002d, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
259 0x0001, 0x0ec1, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
260 0x00000055, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
261 "us", "en", \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
262 }
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
263
7313
557d9e2b5dea [gaim-migrate @ 7897]
Mark Doliner <markdoliner@pidgin.im>
parents: 7285
diff changeset
264 #define CLIENTINFO_ICQBASIC_14_3_1068 { \
4070
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
265 "ICQBasic", \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
266 0x010a, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
267 0x0014, 0x0003, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
268 0x0000, 0x042c, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
269 0x0000043d, \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
270 "us", "en", \
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
271 }
f39a1ed83c26 [gaim-migrate @ 4282]
Mark Doliner <markdoliner@pidgin.im>
parents: 3952
diff changeset
272
7313
557d9e2b5dea [gaim-migrate @ 7897]
Mark Doliner <markdoliner@pidgin.im>
parents: 7285
diff changeset
273 #define CLIENTINFO_NETSCAPE_7_0_1 { \
4317
f3f135811a70 [gaim-migrate @ 4571]
Mark Doliner <markdoliner@pidgin.im>
parents: 4293
diff changeset
274 "Netscape 2000 an approved user of AOL Instant Messenger (SM)", \
f3f135811a70 [gaim-migrate @ 4571]
Mark Doliner <markdoliner@pidgin.im>
parents: 4293
diff changeset
275 0x1d0d, \
f3f135811a70 [gaim-migrate @ 4571]
Mark Doliner <markdoliner@pidgin.im>
parents: 4293
diff changeset
276 0x0007, 0x0000, \
f3f135811a70 [gaim-migrate @ 4571]
Mark Doliner <markdoliner@pidgin.im>
parents: 4293
diff changeset
277 0x0001, 0x0000, \
f3f135811a70 [gaim-migrate @ 4571]
Mark Doliner <markdoliner@pidgin.im>
parents: 4293
diff changeset
278 0x00000058, \
f3f135811a70 [gaim-migrate @ 4571]
Mark Doliner <markdoliner@pidgin.im>
parents: 4293
diff changeset
279 "us", "en", \
f3f135811a70 [gaim-migrate @ 4571]
Mark Doliner <markdoliner@pidgin.im>
parents: 4293
diff changeset
280 }
f3f135811a70 [gaim-migrate @ 4571]
Mark Doliner <markdoliner@pidgin.im>
parents: 4293
diff changeset
281
4071
f0c425b22b92 [gaim-migrate @ 4283]
Mark Doliner <markdoliner@pidgin.im>
parents: 4070
diff changeset
282 #define CLIENTINFO_AIM_KNOWNGOOD CLIENTINFO_AIM_5_1_3036
f0c425b22b92 [gaim-migrate @ 4283]
Mark Doliner <markdoliner@pidgin.im>
parents: 4070
diff changeset
283 #define CLIENTINFO_ICQ_KNOWNGOOD CLIENTINFO_ICQ_5_45_3777
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
284
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
285 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
286 * These could be arbitrary, but its easier to use the actual AIM values
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
287 */
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
288 #define AIM_CONN_TYPE_BOS 0x0002
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
289 #define AIM_CONN_TYPE_ADS 0x0005
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
290 #define AIM_CONN_TYPE_AUTH 0x0007
7806
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
291 #define AIM_CONN_TYPE_CHATNAV 0x000d
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
292 #define AIM_CONN_TYPE_CHAT 0x000e
7806
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
293 #define AIM_CONN_TYPE_SEARCH 0x000f
4804
e6e0e6d50d39 [gaim-migrate @ 5124]
Mark Doliner <markdoliner@pidgin.im>
parents: 4763
diff changeset
294 #define AIM_CONN_TYPE_ICON 0x0010
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
295 #define AIM_CONN_TYPE_EMAIL 0x0018
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
296
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
297 /* they start getting arbitrary for rendezvous stuff =) */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
298 #define AIM_CONN_TYPE_RENDEZVOUS 0xfffe /* these do not speak FLAP! */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
299 #define AIM_CONN_TYPE_LISTENER 0xffff /* socket waiting for accept() */
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
300
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
301 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
302 * Subtypes, we need these for OFT stuff.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
303 */
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
304 #define AIM_CONN_SUBTYPE_OFT_DIRECTIM 0x0001
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
305 #define AIM_CONN_SUBTYPE_OFT_GETFILE 0x0002
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
306 #define AIM_CONN_SUBTYPE_OFT_SENDFILE 0x0003
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
307 #define AIM_CONN_SUBTYPE_OFT_BUDDYICON 0x0004
7806
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
308 #define AIM_CONN_SUBTYPE_OFT_VOICE 0x0005
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
309
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
310 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
311 * Status values returned from aim_conn_new(). ORed together.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
312 */
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
313 #define AIM_CONN_STATUS_READY 0x0001
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
314 #define AIM_CONN_STATUS_INTERNALERR 0x0002
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
315 #define AIM_CONN_STATUS_RESOLVERR 0x0040
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
316 #define AIM_CONN_STATUS_CONNERR 0x0080
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
317 #define AIM_CONN_STATUS_INPROGRESS 0x0100
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
318
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
319 #define AIM_FRAMETYPE_FLAP 0x0000
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
320 #define AIM_FRAMETYPE_OFT 0x0001
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
321
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
322 typedef struct aim_conn_s {
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
323 int fd;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
324 fu16_t type;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
325 fu16_t subtype;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
326 flap_seqnum_t seqnum;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
327 fu32_t status;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
328 void *priv; /* misc data the client may want to store */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
329 void *internal; /* internal conn-specific libfaim data */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
330 time_t lastactivity; /* time of last transmit */
10021
5aa380278a15 [gaim-migrate @ 10946]
Mark Doliner <markdoliner@pidgin.im>
parents: 9975
diff changeset
331 int forcedlatency;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
332 void *handlerlist;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
333 void *sessv; /* pointer to parent session */
2270
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
334 void *inside; /* only accessible from inside libfaim */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
335 struct aim_conn_s *next;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
336 } aim_conn_t;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
337
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
338 /*
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
339 * Byte Stream type. Sort of.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
340 *
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
341 * Use of this type serves a couple purposes:
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
342 * - Buffer/buflen pairs are passed all around everywhere. This turns
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
343 * that into one value, as well as abstracting it slightly.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
344 * - Through the abstraction, it is possible to enable bounds checking
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
345 * for robustness at the cost of performance. But a clean failure on
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
346 * weird packets is much better than a segfault.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
347 * - I like having variables named "bs".
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
348 *
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
349 * Don't touch the insides of this struct. Or I'll have to kill you.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
350 *
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
351 */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
352 typedef struct aim_bstream_s {
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
353 fu8_t *data;
3033
1f078ab46e76 [gaim-migrate @ 3046]
Sean Egan <seanegan@pidgin.im>
parents: 3017
diff changeset
354 fu32_t len;
1f078ab46e76 [gaim-migrate @ 3046]
Sean Egan <seanegan@pidgin.im>
parents: 3017
diff changeset
355 fu32_t offset;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
356 } aim_bstream_t;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
357
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
358 typedef struct aim_frame_s {
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
359 fu8_t hdrtype; /* defines which piece of the union to use */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
360 union {
10021
5aa380278a15 [gaim-migrate @ 10946]
Mark Doliner <markdoliner@pidgin.im>
parents: 9975
diff changeset
361 struct {
7806
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
362 fu8_t channel;
10021
5aa380278a15 [gaim-migrate @ 10946]
Mark Doliner <markdoliner@pidgin.im>
parents: 9975
diff changeset
363 flap_seqnum_t seqnum;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
364 } flap;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
365 struct {
7806
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
366 fu8_t magic[4]; /* ODC2 or OFT2 */
3952
d13e1fde68d8 [gaim-migrate @ 4133]
Mark Doliner <markdoliner@pidgin.im>
parents: 3912
diff changeset
367 fu16_t hdrlen;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
368 fu16_t type;
3952
d13e1fde68d8 [gaim-migrate @ 4133]
Mark Doliner <markdoliner@pidgin.im>
parents: 3912
diff changeset
369 } rend;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
370 } hdr;
7806
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
371 aim_bstream_t data; /* payload stream */
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
372 aim_conn_t *conn; /* the connection it came in on/is going out on */
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
373 fu8_t handled; /* 0 = new, !0 = been handled */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
374 struct aim_frame_s *next;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
375 } aim_frame_t;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
376
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
377 typedef struct aim_msgcookie_s {
5556
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
378 fu8_t cookie[8];
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
379 int type;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
380 void *data;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
381 time_t addtime;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
382 struct aim_msgcookie_s *next;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
383 } aim_msgcookie_t;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
384
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
385 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
386 * AIM Session: The main client-data interface.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
387 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
388 */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
389 typedef struct aim_session_s {
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
390
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
391 /* ---- Client Accessible ------------------------ */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
392
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
393 /* Our screen name. */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
394 char sn[MAXSNLEN+1];
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
395
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
396 /*
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
397 * Pointer to anything the client wants to
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
398 * explicitly associate with this session.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
399 *
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
400 * This is for use in the callbacks mainly. In any
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
401 * callback, you can access this with sess->aux_data.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
402 *
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
403 */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
404 void *aux_data;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
405
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
406 /* ---- Internal Use Only ------------------------ */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
407
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
408 /* Connection information */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
409 aim_conn_t *connlist;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
410
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
411 /*
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
412 * Transmit/receive queues.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
413 *
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
414 * These are only used when you don't use your own lowlevel
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
415 * I/O. I don't suggest that you use libfaim's internal I/O.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
416 * Its really bad and the API/event model is quirky at best.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
417 *
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
418 */
8982
0ba49ae0ed51 [gaim-migrate @ 9757]
Tim Ringenbach <marv@pidgin.im>
parents: 8978
diff changeset
419 aim_frame_t *queue_outgoing;
10021
5aa380278a15 [gaim-migrate @ 10946]
Mark Doliner <markdoliner@pidgin.im>
parents: 9975
diff changeset
420 aim_frame_t *queue_incoming;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
421
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
422 /*
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
423 * Tx Enqueuing function.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
424 *
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
425 * This is how you override the transmit direction of libfaim's
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
426 * internal I/O. This function will be called whenever it needs
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
427 * to send something.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
428 *
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
429 */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
430 int (*tx_enqueue)(struct aim_session_s *, aim_frame_t *);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
431
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
432 void *modlistv;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
433
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
434 struct {
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
435 char server[128];
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
436 char username[128];
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
437 char password[128];
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
438 } socksproxy;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
439
10035
03f36b9a1276 [gaim-migrate @ 10994]
Mark Doliner <markdoliner@pidgin.im>
parents: 10021
diff changeset
440 fu8_t nonblocking;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
441
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
442 int debug;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
443 void (*debugcb)(struct aim_session_s *sess, int level, const char *format, va_list va); /* same as faim_debugging_callback_t */
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
444
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
445 /*
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
446 * Outstanding snac handling
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
447 *
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
448 * XXX: Should these be per-connection? -mid
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
449 */
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
450 void *snac_hash[FAIM_SNAC_HASH_SIZE];
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
451 aim_snacid_t snacid_next;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
452
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
453 aim_msgcookie_t *msgcookies;
4624
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
454 struct aim_icq_info *icq_info;
4826
ce211ce6a336 [gaim-migrate @ 5151]
Mark Doliner <markdoliner@pidgin.im>
parents: 4811
diff changeset
455 struct aim_oft_info *oft_info;
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
456 struct aim_authresp_info *authinfo;
7045
458b55091f8b [gaim-migrate @ 7608]
Mark Doliner <markdoliner@pidgin.im>
parents: 7025
diff changeset
457 struct aim_emailinfo *emailinfo;
458b55091f8b [gaim-migrate @ 7608]
Mark Doliner <markdoliner@pidgin.im>
parents: 7025
diff changeset
458
458b55091f8b [gaim-migrate @ 7608]
Mark Doliner <markdoliner@pidgin.im>
parents: 7025
diff changeset
459 struct {
458b55091f8b [gaim-migrate @ 7608]
Mark Doliner <markdoliner@pidgin.im>
parents: 7025
diff changeset
460 struct aim_userinfo_s *userinfo;
7466
1dd3ed07bc24 [gaim-migrate @ 8079]
Mark Doliner <markdoliner@pidgin.im>
parents: 7334
diff changeset
461 struct userinfo_node *torequest;
1dd3ed07bc24 [gaim-migrate @ 8079]
Mark Doliner <markdoliner@pidgin.im>
parents: 7334
diff changeset
462 struct userinfo_node *requested;
7045
458b55091f8b [gaim-migrate @ 7608]
Mark Doliner <markdoliner@pidgin.im>
parents: 7025
diff changeset
463 int waiting_for_response;
458b55091f8b [gaim-migrate @ 7608]
Mark Doliner <markdoliner@pidgin.im>
parents: 7025
diff changeset
464 } locate;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
465
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
466 /* Server-stored information (ssi) */
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
467 struct {
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
468 int received_data;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
469 fu16_t numitems;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
470 struct aim_ssi_item *official;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
471 struct aim_ssi_item *local;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
472 struct aim_ssi_tmp *pending;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
473 time_t timestamp;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
474 int waiting_for_ack;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
475 } ssi;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
476 } aim_session_t;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
477
2507
4f2c8913240e [gaim-migrate @ 2520]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2421
diff changeset
478 /* Valid for calling aim_icq_setstatus() and for aim_userinfo_t->icqinfo.status */
7806
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
479 #define AIM_ICQ_STATE_NORMAL 0x00000000
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
480 #define AIM_ICQ_STATE_AWAY 0x00000001
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
481 #define AIM_ICQ_STATE_DND 0x00000002
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
482 #define AIM_ICQ_STATE_OUT 0x00000004
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
483 #define AIM_ICQ_STATE_BUSY 0x00000010
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
484 #define AIM_ICQ_STATE_CHAT 0x00000020
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
485 #define AIM_ICQ_STATE_INVISIBLE 0x00000100
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
486 #define AIM_ICQ_STATE_WEBAWARE 0x00010000
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
487 #define AIM_ICQ_STATE_HIDEIP 0x00020000
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
488 #define AIM_ICQ_STATE_BIRTHDAY 0x00080000
4342
a352530e1a6a [gaim-migrate @ 4607]
Aubin LaBrosse
parents: 4333
diff changeset
489 #define AIM_ICQ_STATE_DIRECTDISABLED 0x00100000
7806
072628543b7d [gaim-migrate @ 8453]
Mark Doliner <markdoliner@pidgin.im>
parents: 7582
diff changeset
490 #define AIM_ICQ_STATE_ICQHOMEPAGE 0x00200000
4342
a352530e1a6a [gaim-migrate @ 4607]
Aubin LaBrosse
parents: 4333
diff changeset
491 #define AIM_ICQ_STATE_DIRECTREQUIREAUTH 0x10000000
a352530e1a6a [gaim-migrate @ 4607]
Aubin LaBrosse
parents: 4333
diff changeset
492 #define AIM_ICQ_STATE_DIRECTCONTACTLIST 0x20000000
2507
4f2c8913240e [gaim-migrate @ 2520]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2421
diff changeset
493
2421
009ae3cf0e83 [gaim-migrate @ 2434]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2315
diff changeset
494
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
495
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
496 /*
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
497 * Get command from connections
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
498 *
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
499 * aim_get_commmand() is the libfaim lowlevel I/O in the receive direction.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
500 * XXX Make this easily overridable.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
501 *
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
502 */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
503 faim_export int aim_get_command(aim_session_t *, aim_conn_t *);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
504
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
505 /*
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
506 * Dispatch commands that are in the rx queue.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
507 */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
508 faim_export void aim_rxdispatch(aim_session_t *);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
509
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
510 faim_export int aim_debugconn_sendconnect(aim_session_t *sess, aim_conn_t *conn);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
511
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
512 faim_export int aim_logoff(aim_session_t *);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
513
10344
09d0502090b3 [gaim-migrate @ 11554]
Mark Doliner <markdoliner@pidgin.im>
parents: 10271
diff changeset
514 #if !defined(FAIM_INTERNAL)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
515 /* the library should never call aim_conn_kill */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
516 faim_export void aim_conn_kill(aim_session_t *sess, aim_conn_t **deadconn);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
517 #endif
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
518
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
519 typedef int (*aim_rxcallback_t)(aim_session_t *, aim_frame_t *, ...);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
520
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
521
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
522 /* auth.c */
2704
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
523 struct aim_clientrelease {
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
524 char *name;
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
525 fu32_t build;
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
526 char *url;
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
527 char *info;
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
528 };
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
529
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
530 struct aim_authresp_info {
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
531 char *sn;
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
532 fu16_t errorcode;
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
533 char *errorurl;
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
534 fu16_t regstatus;
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
535 char *email;
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
536 char *bosip;
4293
c025f268b6df [gaim-migrate @ 4546]
Mark Doliner <markdoliner@pidgin.im>
parents: 4269
diff changeset
537 fu16_t cookielen;
2704
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
538 fu8_t *cookie;
3912
334ebe7e5f93 [gaim-migrate @ 4071]
Mark Doliner <markdoliner@pidgin.im>
parents: 3867
diff changeset
539 char *chpassurl;
2704
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
540 struct aim_clientrelease latestrelease;
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
541 struct aim_clientrelease latestbeta;
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
542 };
0937693c4937 [gaim-migrate @ 2717]
Adam Fritzler <mid@auk.cx>
parents: 2703
diff changeset
543
2821
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
544 /* Callback data for redirect. */
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
545 struct aim_redirect_data {
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
546 fu16_t group;
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
547 const char *ip;
4293
c025f268b6df [gaim-migrate @ 4546]
Mark Doliner <markdoliner@pidgin.im>
parents: 4269
diff changeset
548 fu16_t cookielen;
2821
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
549 const fu8_t *cookie;
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
550 struct { /* group == AIM_CONN_TYPE_CHAT */
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
551 fu16_t exchange;
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
552 const char *room;
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
553 fu16_t instance;
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
554 } chat;
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
555 };
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
556
2672
5c9b7617a1f3 [gaim-migrate @ 2685]
Adam Fritzler <mid@auk.cx>
parents: 2669
diff changeset
557 faim_export int aim_clientready(aim_session_t *sess, aim_conn_t *conn);
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
558 faim_export int aim_sendflapver(aim_session_t *sess, aim_conn_t *conn);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
559 faim_export int aim_request_login(aim_session_t *sess, aim_conn_t *conn, const char *sn);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
560 faim_export int aim_send_login(aim_session_t *, aim_conn_t *, const char *, const char *, struct client_info_s *, const char *key);
10464
034b1b3ad2be [gaim-migrate @ 11739]
Mark Doliner <markdoliner@pidgin.im>
parents: 10344
diff changeset
561 /* 0x000b */ faim_export int aim_auth_securid_send(aim_session_t *sess, const char *securid);
034b1b3ad2be [gaim-migrate @ 11739]
Mark Doliner <markdoliner@pidgin.im>
parents: 10344
diff changeset
562
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
563 faim_export void aim_purge_rxqueue(aim_session_t *);
4333
f4c095774bc2 [gaim-migrate @ 4597]
Mark Doliner <markdoliner@pidgin.im>
parents: 4317
diff changeset
564 faim_export void aim_cleansnacs(aim_session_t *, int maxage);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
565
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
566 #define AIM_TX_QUEUED 0 /* default */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
567 #define AIM_TX_IMMEDIATE 1
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
568 #define AIM_TX_USER 2
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
569 faim_export int aim_tx_setenqueue(aim_session_t *sess, int what, int (*func)(aim_session_t *, aim_frame_t *));
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
570
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
571 faim_export int aim_tx_flushqueue(aim_session_t *);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
572 faim_export void aim_tx_purgequeue(aim_session_t *);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
573
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
574 faim_export int aim_conn_setlatency(aim_conn_t *conn, int newval);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
575
5927
f83c9f4afb60 [gaim-migrate @ 6367]
Ryan McCabe
parents: 5917
diff changeset
576 faim_export int aim_conn_addhandler(aim_session_t *, aim_conn_t *conn, fu16_t family, fu16_t type, aim_rxcallback_t newhandler, fu16_t flags);
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
577 faim_export int aim_clearhandlers(aim_conn_t *conn);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
578
2270
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
579 faim_export aim_conn_t *aim_conn_findbygroup(aim_session_t *sess, fu16_t group);
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
580 faim_export aim_session_t *aim_conn_getsess(aim_conn_t *conn);
10271
a5e47c867875 [gaim-migrate @ 11420]
Mark Doliner <markdoliner@pidgin.im>
parents: 10267
diff changeset
581 faim_export void aim_conn_close(aim_conn_t *deadconn);
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
582 faim_export aim_conn_t *aim_newconn(aim_session_t *, int type, const char *dest);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
583 faim_export aim_conn_t *aim_select(aim_session_t *, struct timeval *, int *);
5927
f83c9f4afb60 [gaim-migrate @ 6367]
Ryan McCabe
parents: 5917
diff changeset
584 faim_export int aim_conn_in_sess(aim_session_t *sess, aim_conn_t *conn);
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
585 faim_export int aim_conn_isready(aim_conn_t *);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
586 faim_export int aim_conn_setstatus(aim_conn_t *, int);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
587 faim_export int aim_conn_completeconnect(aim_session_t *sess, aim_conn_t *conn);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
588 faim_export int aim_conn_isconnecting(aim_conn_t *conn);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
589
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
590 typedef void (*faim_debugging_callback_t)(aim_session_t *sess, int level, const char *format, va_list va);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
591 faim_export int aim_setdebuggingcb(aim_session_t *sess, faim_debugging_callback_t);
10035
03f36b9a1276 [gaim-migrate @ 10994]
Mark Doliner <markdoliner@pidgin.im>
parents: 10021
diff changeset
592 faim_export void aim_session_init(aim_session_t *, fu8_t nonblocking, int debuglevel);
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
593 faim_export void aim_session_kill(aim_session_t *);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
594 faim_export void aim_setupproxy(aim_session_t *sess, const char *server, const char *username, const char *password);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
595 faim_export aim_conn_t *aim_getconn_type(aim_session_t *, int type);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
596 faim_export aim_conn_t *aim_getconn_type_all(aim_session_t *, int type);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
597 faim_export aim_conn_t *aim_getconn_fd(aim_session_t *, int fd);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
598
5917
a79e79eca294 [gaim-migrate @ 6349]
Mark Doliner <markdoliner@pidgin.im>
parents: 5844
diff changeset
599
a79e79eca294 [gaim-migrate @ 6349]
Mark Doliner <markdoliner@pidgin.im>
parents: 5844
diff changeset
600
7285
b9d07d0c9bc2 [gaim-migrate @ 7866]
Mark Doliner <markdoliner@pidgin.im>
parents: 7282
diff changeset
601 /* 0x0001 - service.c */
10199
cd9d23829c02 [gaim-migrate @ 11316]
Mark Doliner <markdoliner@pidgin.im>
parents: 10035
diff changeset
602 faim_export int aim_srv_setavailmsg(aim_session_t *sess, const char *msg);
7474
757569d68123 [gaim-migrate @ 8087]
Mark Doliner <markdoliner@pidgin.im>
parents: 7466
diff changeset
603 faim_export int aim_srv_setidle(aim_session_t *sess, fu32_t idletime);
5917
a79e79eca294 [gaim-migrate @ 6349]
Mark Doliner <markdoliner@pidgin.im>
parents: 5844
diff changeset
604
a79e79eca294 [gaim-migrate @ 6349]
Mark Doliner <markdoliner@pidgin.im>
parents: 5844
diff changeset
605
a79e79eca294 [gaim-migrate @ 6349]
Mark Doliner <markdoliner@pidgin.im>
parents: 5844
diff changeset
606
3912
334ebe7e5f93 [gaim-migrate @ 4071]
Mark Doliner <markdoliner@pidgin.im>
parents: 3867
diff changeset
607 /* misc.c */
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
608
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
609 #define AIM_VISIBILITYCHANGE_PERMITADD 0x05
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
610 #define AIM_VISIBILITYCHANGE_PERMITREMOVE 0x06
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
611 #define AIM_VISIBILITYCHANGE_DENYADD 0x07
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
612 #define AIM_VISIBILITYCHANGE_DENYREMOVE 0x08
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
613
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
614 #define AIM_PRIVFLAGS_ALLOWIDLE 0x01
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
615 #define AIM_PRIVFLAGS_ALLOWMEMBERSINCE 0x02
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
616
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
617 #define AIM_WARN_ANON 0x01
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
618
2270
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
619 faim_export int aim_sendpauseack(aim_session_t *sess, aim_conn_t *conn);
2703
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
620 faim_export int aim_nop(aim_session_t *, aim_conn_t *);
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
621 faim_export int aim_flap_nop(aim_session_t *sess, aim_conn_t *conn);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
622 faim_export int aim_bos_changevisibility(aim_session_t *, aim_conn_t *, int, const char *);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
623 faim_export int aim_bos_setgroupperm(aim_session_t *, aim_conn_t *, fu32_t mask);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
624 faim_export int aim_bos_setprivacyflags(aim_session_t *, aim_conn_t *, fu32_t);
2703
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
625 faim_export int aim_reqpersonalinfo(aim_session_t *, aim_conn_t *);
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
626 faim_export int aim_reqservice(aim_session_t *, aim_conn_t *, fu16_t);
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
627 faim_export int aim_bos_reqrights(aim_session_t *, aim_conn_t *);
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
628 faim_export int aim_setextstatus(aim_session_t *sess, fu32_t status);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
629
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
630 #define AIM_CLIENTTYPE_UNKNOWN 0x0000
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
631 #define AIM_CLIENTTYPE_MC 0x0001
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
632 #define AIM_CLIENTTYPE_WINAIM 0x0002
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
633 #define AIM_CLIENTTYPE_WINAIM41 0x0003
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
634 #define AIM_CLIENTTYPE_AOL_TOC 0x0004
5800
6b85ffbb9190 [gaim-migrate @ 6225]
Ryan McCabe
parents: 5556
diff changeset
635 faim_export fu16_t aim_im_fingerprint(const fu8_t *msghdr, int len);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
636
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
637 #define AIM_RATE_CODE_CHANGE 0x0001
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
638 #define AIM_RATE_CODE_WARNING 0x0002
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
639 #define AIM_RATE_CODE_LIMIT 0x0003
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
640 #define AIM_RATE_CODE_CLEARLIMIT 0x0004
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
641 faim_export int aim_ads_requestads(aim_session_t *sess, aim_conn_t *conn);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
642
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
643
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
644
3912
334ebe7e5f93 [gaim-migrate @ 4071]
Mark Doliner <markdoliner@pidgin.im>
parents: 3867
diff changeset
645 /* im.c */
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
646 #define AIM_OFT_SUBTYPE_SEND_FILE 0x0001
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
647 #define AIM_OFT_SUBTYPE_SEND_DIR 0x0002
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
648 #define AIM_OFT_SUBTYPE_GET_FILE 0x0011
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
649 #define AIM_OPT_SUBTYPE_GET_LIST 0x0012
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
650
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
651 #define AIM_TRANSFER_DENY_NOTSUPPORTED 0x0000
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
652 #define AIM_TRANSFER_DENY_DECLINE 0x0001
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
653 #define AIM_TRANSFER_DENY_NOTACCEPTING 0x0002
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
654
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
655 #define AIM_IMPARAM_FLAG_CHANMSGS_ALLOWED 0x00000001
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
656 #define AIM_IMPARAM_FLAG_MISSEDCALLS_ENABLED 0x00000002
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
657
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
658 /* This is what the server will give you if you don't set them yourself. */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
659 #define AIM_IMPARAM_DEFAULTS { \
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
660 0, \
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
661 AIM_IMPARAM_FLAG_CHANMSGS_ALLOWED | AIM_IMPARAM_FLAG_MISSEDCALLS_ENABLED, \
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
662 512, /* !! Note how small this is. */ \
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
663 (99.9)*10, (99.9)*10, \
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
664 1000 /* !! And how large this is. */ \
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
665 }
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
666
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
667 /* This is what most AIM versions use. */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
668 #define AIM_IMPARAM_REASONABLE { \
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
669 0, \
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
670 AIM_IMPARAM_FLAG_CHANMSGS_ALLOWED | AIM_IMPARAM_FLAG_MISSEDCALLS_ENABLED, \
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
671 8000, \
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
672 (99.9)*10, (99.9)*10, \
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
673 0 \
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
674 }
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
675
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
676 struct aim_icbmparameters {
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
677 fu16_t maxchan;
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
678 fu32_t flags; /* AIM_IMPARAM_FLAG_ */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
679 fu16_t maxmsglen; /* message size that you will accept */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
680 fu16_t maxsenderwarn; /* this and below are *10 (999=99.9%) */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
681 fu16_t maxrecverwarn;
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
682 fu32_t minmsginterval; /* in milliseconds? */
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
683 };
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
684
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
685 struct aim_chat_roominfo {
5556
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
686 fu16_t exchange;
2167
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
687 char *name;
5556
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
688 fu16_t instance;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
689 };
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
690
9806
6b4ad56649c6 [gaim-migrate @ 10674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8983
diff changeset
691 #define AIM_IMFLAGS_AWAY 0x0001 /* mark as an autoreply */
6b4ad56649c6 [gaim-migrate @ 10674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8983
diff changeset
692 #define AIM_IMFLAGS_ACK 0x0002 /* request a receipt notice */
6b4ad56649c6 [gaim-migrate @ 10674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8983
diff changeset
693 #define AIM_IMFLAGS_BUDDYREQ 0x0010 /* buddy icon requested */
6b4ad56649c6 [gaim-migrate @ 10674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8983
diff changeset
694 #define AIM_IMFLAGS_HASICON 0x0020 /* already has icon */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
695 #define AIM_IMFLAGS_SUBENC_MACINTOSH 0x0040 /* damn that Steve Jobs! */
9806
6b4ad56649c6 [gaim-migrate @ 10674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8983
diff changeset
696 #define AIM_IMFLAGS_CUSTOMFEATURES 0x0080 /* features field present */
6b4ad56649c6 [gaim-migrate @ 10674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8983
diff changeset
697 #define AIM_IMFLAGS_EXTDATA 0x0100
6b4ad56649c6 [gaim-migrate @ 10674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8983
diff changeset
698 #define AIM_IMFLAGS_X 0x0200
6b4ad56649c6 [gaim-migrate @ 10674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8983
diff changeset
699 #define AIM_IMFLAGS_MULTIPART 0x0400 /* ->mpmsg section valid */
6b4ad56649c6 [gaim-migrate @ 10674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8983
diff changeset
700 #define AIM_IMFLAGS_OFFLINE 0x0800 /* send to offline user */
6b4ad56649c6 [gaim-migrate @ 10674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8983
diff changeset
701 #define AIM_IMFLAGS_TYPINGNOT 0x1000 /* typing notification */
6b4ad56649c6 [gaim-migrate @ 10674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8983
diff changeset
702
9826
8fd989d134e0 [gaim-migrate @ 10697]
Mark Doliner <markdoliner@pidgin.im>
parents: 9807
diff changeset
703 #define AIM_CHARSET_ASCII 0x0000
8fd989d134e0 [gaim-migrate @ 10697]
Mark Doliner <markdoliner@pidgin.im>
parents: 9807
diff changeset
704 #define AIM_CHARSET_UNICODE 0x0002 /* UCS-2BE */
8fd989d134e0 [gaim-migrate @ 10697]
Mark Doliner <markdoliner@pidgin.im>
parents: 9807
diff changeset
705 #define AIM_CHARSET_CUSTOM 0x0003
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
706
2270
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
707 /*
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
708 * Multipart message structures.
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
709 */
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
710 typedef struct aim_mpmsg_section_s {
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
711 fu16_t charset;
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
712 fu16_t charsubset;
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
713 fu8_t *data;
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
714 fu16_t datalen;
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
715 struct aim_mpmsg_section_s *next;
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
716 } aim_mpmsg_section_t;
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
717
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
718 typedef struct aim_mpmsg_s {
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
719 int numparts;
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
720 aim_mpmsg_section_t *parts;
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
721 } aim_mpmsg_t;
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
722
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
723 faim_export int aim_mpmsg_init(aim_session_t *sess, aim_mpmsg_t *mpm);
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
724 faim_export int aim_mpmsg_addraw(aim_session_t *sess, aim_mpmsg_t *mpm, fu16_t charset, fu16_t charsubset, const fu8_t *data, fu16_t datalen);
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
725 faim_export int aim_mpmsg_addascii(aim_session_t *sess, aim_mpmsg_t *mpm, const char *ascii);
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
726 faim_export int aim_mpmsg_addunicode(aim_session_t *sess, aim_mpmsg_t *mpm, const fu16_t *unicode, fu16_t unicodelen);
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
727 faim_export void aim_mpmsg_free(aim_session_t *sess, aim_mpmsg_t *mpm);
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
728
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
729 /*
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
730 * Arguments to aim_send_im_ext().
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
731 *
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
732 * This is really complicated. But immensely versatile.
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
733 *
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
734 */
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
735 struct aim_sendimext_args {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
736
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
737 /* These are _required_ */
2167
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
738 const char *destsn;
2270
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
739 fu32_t flags; /* often 0 */
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
740
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
741 /* Only required if not using multipart messages */
2167
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
742 const char *msg;
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
743 int msglen;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
744
2270
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
745 /* Required if ->msg is not provided */
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
746 aim_mpmsg_t *mpmsg;
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
747
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
748 /* Only used if AIM_IMFLAGS_HASICON is set */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
749 fu32_t iconlen;
2167
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
750 time_t iconstamp;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
751 fu32_t iconsum;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
752
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
753 /* Only used if AIM_IMFLAGS_CUSTOMFEATURES is set */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
754 fu8_t *features;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
755 fu8_t featureslen;
2270
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
756
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
757 /* Only used if AIM_IMFLAGS_CUSTOMCHARSET is set and mpmsg not used */
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
758 fu16_t charset;
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
759 fu16_t charsubset;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
760 };
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
761
2270
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
762 /*
2866
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
763 * Arguments to aim_send_rtfmsg().
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
764 */
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
765 struct aim_sendrtfmsg_args {
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
766 const char *destsn;
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
767 fu32_t fgcolor;
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
768 fu32_t bgcolor;
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
769 const char *rtfmsg; /* must be in RTF */
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
770 };
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
771
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
772 /*
2270
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
773 * This information is provided in the Incoming ICBM callback for
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
774 * Channel 1 ICBM's.
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
775 *
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
776 * Note that although CUSTOMFEATURES and CUSTOMCHARSET say they
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
777 * are optional, both are always set by the current libfaim code.
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
778 * That may or may not change in the future. It is mainly for
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
779 * consistency with aim_sendimext_args.
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
780 *
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
781 * Multipart messages require some explanation. If you want to use them,
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
782 * I suggest you read all the comments in im.c.
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
783 *
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
784 */
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
785 struct aim_incomingim_ch1_args {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
786
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
787 /* Always provided */
2270
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
788 aim_mpmsg_t mpmsg;
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
789 fu32_t icbmflags; /* some flags apply only to ->msg, not all mpmsg */
10021
5aa380278a15 [gaim-migrate @ 10946]
Mark Doliner <markdoliner@pidgin.im>
parents: 9975
diff changeset
790
2270
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
791 /* Only provided if message has a human-readable section */
2167
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
792 char *msg;
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
793 int msglen;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
794
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
795 /* Only provided if AIM_IMFLAGS_HASICON is set */
2167
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
796 time_t iconstamp;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
797 fu32_t iconlen;
2626
9e459528a570 [gaim-migrate @ 2639]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2507
diff changeset
798 fu16_t iconsum;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
799
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
800 /* Only provided if AIM_IMFLAGS_CUSTOMFEATURES is set */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
801 fu8_t *features;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
802 fu8_t featureslen;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
803
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
804 /* Only provided if AIM_IMFLAGS_EXTDATA is set */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
805 fu8_t extdatalen;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
806 fu8_t *extdata;
2270
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
807
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
808 /* Only used if AIM_IMFLAGS_CUSTOMCHARSET is set */
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
809 fu16_t charset;
c65fc356fb68 [gaim-migrate @ 2280]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2246
diff changeset
810 fu16_t charsubset;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
811 };
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
812
2869
3165d3aff6c0 [gaim-migrate @ 2882]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
813 /* Valid values for channel 2 args->status */
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
814 #define AIM_RENDEZVOUS_PROPOSE 0x0000
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
815 #define AIM_RENDEZVOUS_CANCEL 0x0001
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
816 #define AIM_RENDEZVOUS_ACCEPT 0x0002
2869
3165d3aff6c0 [gaim-migrate @ 2882]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
817
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
818 struct aim_incomingim_ch2_args {
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
819 fu16_t status;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
820 fu8_t cookie[8];
6197
cc8a490ebadc [gaim-migrate @ 6683]
Ludovic
parents: 6101
diff changeset
821 int reqclass;
4898
285e9ff6eeb8 [gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents: 4889
diff changeset
822 const char *proxyip;
2869
3165d3aff6c0 [gaim-migrate @ 2882]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
823 const char *clientip;
3165d3aff6c0 [gaim-migrate @ 2882]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
824 const char *verifiedip;
3165d3aff6c0 [gaim-migrate @ 2882]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
825 fu16_t port;
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
826 fu16_t errorcode;
2869
3165d3aff6c0 [gaim-migrate @ 2882]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
827 const char *msg; /* invite message or file description */
9933
61bd3fadbfe6 [gaim-migrate @ 10825]
Dave West <kat@users.sourceforge.net>
parents: 9826
diff changeset
828 fu16_t msglen;
2869
3165d3aff6c0 [gaim-migrate @ 2882]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
829 const char *encoding;
3165d3aff6c0 [gaim-migrate @ 2882]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
830 const char *language;
2167
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
831 union {
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
832 struct {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
833 fu32_t checksum;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
834 fu32_t length;
2167
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
835 time_t timestamp;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
836 fu8_t *icon;
2167
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
837 } icon;
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
838 struct {
2869
3165d3aff6c0 [gaim-migrate @ 2882]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
839 struct aim_chat_roominfo roominfo;
2167
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
840 } chat;
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
841 struct {
8708
31a7bd5a32f4 [gaim-migrate @ 9461]
Mark Doliner <markdoliner@pidgin.im>
parents: 8341
diff changeset
842 fu16_t msgtype;
2866
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
843 fu32_t fgcolor;
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
844 fu32_t bgcolor;
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
845 const char *rtfmsg;
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
846 } rtfmsg;
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3595
diff changeset
847 struct {
3771
fc0f8f47fa58 [gaim-migrate @ 3910]
Rob Flynn <gaim@robflynn.com>
parents: 3694
diff changeset
848 fu16_t subtype;
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3595
diff changeset
849 fu16_t totfiles;
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3595
diff changeset
850 fu32_t totsize;
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3595
diff changeset
851 char *filename;
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3595
diff changeset
852 } sendfile;
2167
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
853 } info;
2869
3165d3aff6c0 [gaim-migrate @ 2882]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
854 void *destructor; /* used internally only */
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
855 };
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
856
3141
3adc8022a85f [gaim-migrate @ 3156]
Rob Flynn <gaim@robflynn.com>
parents: 3140
diff changeset
857 /* Valid values for channel 4 args->type */
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
858 #define AIM_ICQMSG_AUTHREQUEST 0x0006
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
859 #define AIM_ICQMSG_AUTHDENIED 0x0007
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
860 #define AIM_ICQMSG_AUTHGRANTED 0x0008
3141
3adc8022a85f [gaim-migrate @ 3156]
Rob Flynn <gaim@robflynn.com>
parents: 3140
diff changeset
861
3adc8022a85f [gaim-migrate @ 3156]
Rob Flynn <gaim@robflynn.com>
parents: 3140
diff changeset
862 struct aim_incomingim_ch4_args {
3adc8022a85f [gaim-migrate @ 3156]
Rob Flynn <gaim@robflynn.com>
parents: 3140
diff changeset
863 fu32_t uin; /* Of the sender of the ICBM */
4173
e2528bd24e6f [gaim-migrate @ 4403]
Mark Doliner <markdoliner@pidgin.im>
parents: 4151
diff changeset
864 fu8_t type;
e2528bd24e6f [gaim-migrate @ 4403]
Mark Doliner <markdoliner@pidgin.im>
parents: 4151
diff changeset
865 fu8_t flags;
3141
3adc8022a85f [gaim-migrate @ 3156]
Rob Flynn <gaim@robflynn.com>
parents: 3140
diff changeset
866 char *msg; /* Reason for auth request, deny, or accept */
4076
563a1af15501 [gaim-migrate @ 4291]
Mark Doliner <markdoliner@pidgin.im>
parents: 4071
diff changeset
867 int msglen;
3141
3adc8022a85f [gaim-migrate @ 3156]
Rob Flynn <gaim@robflynn.com>
parents: 3140
diff changeset
868 };
3adc8022a85f [gaim-migrate @ 3156]
Rob Flynn <gaim@robflynn.com>
parents: 3140
diff changeset
869
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
870 /* SNAC sending functions */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
871 /* 0x0002 */ faim_export int aim_im_setparams(aim_session_t *sess, struct aim_icbmparameters *params);
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
872 /* 0x0004 */ faim_export int aim_im_reqparams(aim_session_t *sess);
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
873 /* 0x0006 */ faim_export int aim_im_sendch1_ext(aim_session_t *sess, struct aim_sendimext_args *args);
5556
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
874 /* 0x0006 */ faim_export int aim_im_sendch1(aim_session_t *, const char *destsn, fu16_t flags, const char *msg);
8225
4ef47db8c9bc [gaim-migrate @ 8948]
Mark Doliner <markdoliner@pidgin.im>
parents: 8219
diff changeset
875 /* 0x0006 */ faim_export int aim_im_sendch2_chatinvite(aim_session_t *sess, const char *sn, const char *msg, fu16_t exchange, const char *roomname, fu16_t instance);
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
876 /* 0x0006 */ faim_export int aim_im_sendch2_icon(aim_session_t *sess, const char *sn, const fu8_t *icon, int iconlen, time_t stamp, fu16_t iconsum);
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
877 /* 0x0006 */ faim_export int aim_im_sendch2_rtfmsg(aim_session_t *sess, struct aim_sendrtfmsg_args *args);
10035
03f36b9a1276 [gaim-migrate @ 10994]
Mark Doliner <markdoliner@pidgin.im>
parents: 10021
diff changeset
878 /* 0x0006 */ faim_export int aim_im_sendch2_odcrequest(aim_session_t *sess, fu8_t *cookie, fu8_t usecookie, const char *sn, const fu8_t *ip, fu16_t port);
5146
56b1615ba288 [gaim-migrate @ 5510]
Mark Doliner <markdoliner@pidgin.im>
parents: 4908
diff changeset
879 /* 0x0006 */ faim_export int aim_im_sendch2_sendfile_ask(aim_session_t *sess, struct aim_oft_info *oft_info);
56b1615ba288 [gaim-migrate @ 5510]
Mark Doliner <markdoliner@pidgin.im>
parents: 4908
diff changeset
880 /* 0x0006 */ faim_export int aim_im_sendch2_sendfile_accept(aim_session_t *sess, struct aim_oft_info *info);
56b1615ba288 [gaim-migrate @ 5510]
Mark Doliner <markdoliner@pidgin.im>
parents: 4908
diff changeset
881 /* 0x0006 */ faim_export int aim_im_sendch2_sendfile_cancel(aim_session_t *sess, struct aim_oft_info *oft_info);
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
882 /* 0x0006 */ faim_export int aim_im_sendch2_geticqaway(aim_session_t *sess, const char *sn, int type);
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
883 /* 0x0006 */ faim_export int aim_im_sendch4(aim_session_t *sess, char *sn, fu16_t type, fu8_t *message);
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
884 /* 0x0008 */ faim_export int aim_im_warn(aim_session_t *sess, aim_conn_t *conn, const char *destsn, fu32_t flags);
5556
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
885 /* 0x000b */ faim_export int aim_im_denytransfer(aim_session_t *sess, const char *sender, const char *cookie, fu16_t code);
6059
9934c862ca14 [gaim-migrate @ 6509]
John Silvestri <john.silvestri@gmail.com>
parents: 5927
diff changeset
886 /* 0x0014 */ faim_export int aim_im_sendmtn(aim_session_t *sess, fu16_t type1, const char *sn, fu16_t type2);
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
887
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
888
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
889
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
890 /* ft.c */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
891 struct aim_fileheader_t {
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
892 #if 0
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
893 char magic[4]; /* 0 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
894 fu16_t hdrlen; /* 4 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
895 fu16_t hdrtype; /* 6 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
896 #endif
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
897 char bcookie[8]; /* 8 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
898 fu16_t encrypt; /* 16 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
899 fu16_t compress; /* 18 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
900 fu16_t totfiles; /* 20 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
901 fu16_t filesleft; /* 22 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
902 fu16_t totparts; /* 24 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
903 fu16_t partsleft; /* 26 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
904 fu32_t totsize; /* 28 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
905 fu32_t size; /* 32 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
906 fu32_t modtime; /* 36 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
907 fu32_t checksum; /* 40 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
908 fu32_t rfrcsum; /* 44 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
909 fu32_t rfsize; /* 48 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
910 fu32_t cretime; /* 52 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
911 fu32_t rfcsum; /* 56 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
912 fu32_t nrecvd; /* 60 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
913 fu32_t recvcsum; /* 64 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
914 fu8_t idstring[32]; /* 68 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
915 fu8_t flags; /* 100 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
916 fu8_t lnameoffset; /* 101 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
917 fu8_t lsizeoffset; /* 102 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
918 char dummy[69]; /* 103 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
919 char macfileinfo[16]; /* 172 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
920 fu16_t nencode; /* 188 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
921 fu16_t nlanguage; /* 190 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
922 char name[64]; /* 192 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
923 /* 256 */
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
924 };
3595
28da7ae040a5 [gaim-migrate @ 3697]
Mark Doliner <markdoliner@pidgin.im>
parents: 3466
diff changeset
925
4826
ce211ce6a336 [gaim-migrate @ 5151]
Mark Doliner <markdoliner@pidgin.im>
parents: 4811
diff changeset
926 struct aim_oft_info {
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
927 char cookie[8];
5146
56b1615ba288 [gaim-migrate @ 5510]
Mark Doliner <markdoliner@pidgin.im>
parents: 4908
diff changeset
928 char *sn;
56b1615ba288 [gaim-migrate @ 5510]
Mark Doliner <markdoliner@pidgin.im>
parents: 4908
diff changeset
929 char *proxyip;
56b1615ba288 [gaim-migrate @ 5510]
Mark Doliner <markdoliner@pidgin.im>
parents: 4908
diff changeset
930 char *clientip;
56b1615ba288 [gaim-migrate @ 5510]
Mark Doliner <markdoliner@pidgin.im>
parents: 4908
diff changeset
931 char *verifiedip;
56b1615ba288 [gaim-migrate @ 5510]
Mark Doliner <markdoliner@pidgin.im>
parents: 4908
diff changeset
932 fu16_t port;
56b1615ba288 [gaim-migrate @ 5510]
Mark Doliner <markdoliner@pidgin.im>
parents: 4908
diff changeset
933 aim_conn_t *conn;
56b1615ba288 [gaim-migrate @ 5510]
Mark Doliner <markdoliner@pidgin.im>
parents: 4908
diff changeset
934 aim_session_t *sess;
4832
32a5d9c54484 [gaim-migrate @ 5157]
Mark Doliner <markdoliner@pidgin.im>
parents: 4826
diff changeset
935 struct aim_fileheader_t fh;
4826
ce211ce6a336 [gaim-migrate @ 5151]
Mark Doliner <markdoliner@pidgin.im>
parents: 4811
diff changeset
936 struct aim_oft_info *next;
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
937 };
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
938
4763
7313e8049f0e [gaim-migrate @ 5081]
Mark Doliner <markdoliner@pidgin.im>
parents: 4759
diff changeset
939 faim_export fu32_t aim_oft_checksum_chunk(const fu8_t *buffer, int bufferlen, fu32_t prevcheck);
4650
5b2338bb19fd [gaim-migrate @ 4961]
Mark Doliner <markdoliner@pidgin.im>
parents: 4646
diff changeset
940 faim_export fu32_t aim_oft_checksum_file(char *filename);
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
941 faim_export int aim_handlerendconnect(aim_session_t *sess, aim_conn_t *cur);
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
942 faim_export int aim_odc_send_typing(aim_session_t *sess, aim_conn_t *conn, int typing);
4870
50dac8774e21 [gaim-migrate @ 5200]
Mark Doliner <markdoliner@pidgin.im>
parents: 4853
diff changeset
943 faim_export int aim_odc_send_im(aim_session_t *sess, aim_conn_t *conn, const char *msg, int len, int encoding, int isawaymsg);
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
944 faim_export const char *aim_odc_getsn(aim_conn_t *conn);
8983
327ca6a682ed [gaim-migrate @ 9758]
Tim Ringenbach <marv@pidgin.im>
parents: 8982
diff changeset
945 faim_export const char *aim_odc_getcookie(aim_conn_t *conn);
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
946 faim_export aim_conn_t *aim_odc_getconn(aim_session_t *sess, const char *sn);
8982
0ba49ae0ed51 [gaim-migrate @ 9757]
Tim Ringenbach <marv@pidgin.im>
parents: 8978
diff changeset
947 faim_export aim_conn_t *aim_odc_initiate(aim_session_t *sess, const char *sn, int listenfd,
0ba49ae0ed51 [gaim-migrate @ 9757]
Tim Ringenbach <marv@pidgin.im>
parents: 8978
diff changeset
948 const fu8_t *localip, fu16_t port, const fu8_t *mycookie);
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
949 faim_export aim_conn_t *aim_odc_connect(aim_session_t *sess, const char *sn, const char *addr, const fu8_t *cookie);
5146
56b1615ba288 [gaim-migrate @ 5510]
Mark Doliner <markdoliner@pidgin.im>
parents: 4908
diff changeset
950
56b1615ba288 [gaim-migrate @ 5510]
Mark Doliner <markdoliner@pidgin.im>
parents: 4908
diff changeset
951 faim_export struct aim_oft_info *aim_oft_createinfo(aim_session_t *sess, const fu8_t *cookie, const char *sn, const char *ip, fu16_t port, fu32_t size, fu32_t modtime, char *filename);
56b1615ba288 [gaim-migrate @ 5510]
Mark Doliner <markdoliner@pidgin.im>
parents: 4908
diff changeset
952 faim_export int aim_oft_destroyinfo(struct aim_oft_info *oft_info);
8240
2e5f97ed575d [gaim-migrate @ 8963]
Mark Doliner <markdoliner@pidgin.im>
parents: 8233
diff changeset
953 faim_export int aim_sendfile_listen(aim_session_t *sess, struct aim_oft_info *oft_info, int listenfd);
5146
56b1615ba288 [gaim-migrate @ 5510]
Mark Doliner <markdoliner@pidgin.im>
parents: 4908
diff changeset
954 faim_export int aim_oft_sendheader(aim_session_t *sess, fu16_t type, struct aim_oft_info *oft_info);
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
955
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
956
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
957
7011
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
958 /* 0x0002 - locate.c */
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
959 /*
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
960 * AIM User Info, Standard Form.
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
961 */
7011
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
962 #define AIM_FLAG_UNCONFIRMED 0x0001 /* "damned transients" */
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
963 #define AIM_FLAG_ADMINISTRATOR 0x0002
7011
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
964 #define AIM_FLAG_AOL 0x0004
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
965 #define AIM_FLAG_OSCAR_PAY 0x0008
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
966 #define AIM_FLAG_FREE 0x0010
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
967 #define AIM_FLAG_AWAY 0x0020
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
968 #define AIM_FLAG_ICQ 0x0040
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
969 #define AIM_FLAG_WIRELESS 0x0080
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
970 #define AIM_FLAG_UNKNOWN100 0x0100
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
971 #define AIM_FLAG_UNKNOWN200 0x0200
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
972 #define AIM_FLAG_ACTIVEBUDDY 0x0400
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
973 #define AIM_FLAG_UNKNOWN800 0x0800
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
974 #define AIM_FLAG_ABINTERNAL 0x1000
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
975 #define AIM_FLAG_ALLUSERS 0x001f
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
976
5836
88819e4cc840 [gaim-migrate @ 6267]
Mark Doliner <markdoliner@pidgin.im>
parents: 5800
diff changeset
977 #define AIM_USERINFO_PRESENT_FLAGS 0x00000001
88819e4cc840 [gaim-migrate @ 6267]
Mark Doliner <markdoliner@pidgin.im>
parents: 5800
diff changeset
978 #define AIM_USERINFO_PRESENT_MEMBERSINCE 0x00000002
88819e4cc840 [gaim-migrate @ 6267]
Mark Doliner <markdoliner@pidgin.im>
parents: 5800
diff changeset
979 #define AIM_USERINFO_PRESENT_ONLINESINCE 0x00000004
88819e4cc840 [gaim-migrate @ 6267]
Mark Doliner <markdoliner@pidgin.im>
parents: 5800
diff changeset
980 #define AIM_USERINFO_PRESENT_IDLE 0x00000008
88819e4cc840 [gaim-migrate @ 6267]
Mark Doliner <markdoliner@pidgin.im>
parents: 5800
diff changeset
981 #define AIM_USERINFO_PRESENT_ICQEXTSTATUS 0x00000010
88819e4cc840 [gaim-migrate @ 6267]
Mark Doliner <markdoliner@pidgin.im>
parents: 5800
diff changeset
982 #define AIM_USERINFO_PRESENT_ICQIPADDR 0x00000020
88819e4cc840 [gaim-migrate @ 6267]
Mark Doliner <markdoliner@pidgin.im>
parents: 5800
diff changeset
983 #define AIM_USERINFO_PRESENT_ICQDATA 0x00000040
88819e4cc840 [gaim-migrate @ 6267]
Mark Doliner <markdoliner@pidgin.im>
parents: 5800
diff changeset
984 #define AIM_USERINFO_PRESENT_CAPABILITIES 0x00000080
88819e4cc840 [gaim-migrate @ 6267]
Mark Doliner <markdoliner@pidgin.im>
parents: 5800
diff changeset
985 #define AIM_USERINFO_PRESENT_SESSIONLEN 0x00000100
88819e4cc840 [gaim-migrate @ 6267]
Mark Doliner <markdoliner@pidgin.im>
parents: 5800
diff changeset
986 #define AIM_USERINFO_PRESENT_CREATETIME 0x00000200
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
987
7045
458b55091f8b [gaim-migrate @ 7608]
Mark Doliner <markdoliner@pidgin.im>
parents: 7025
diff changeset
988 struct userinfo_node {
458b55091f8b [gaim-migrate @ 7608]
Mark Doliner <markdoliner@pidgin.im>
parents: 7025
diff changeset
989 char *sn;
458b55091f8b [gaim-migrate @ 7608]
Mark Doliner <markdoliner@pidgin.im>
parents: 7025
diff changeset
990 struct userinfo_node *next;
458b55091f8b [gaim-migrate @ 7608]
Mark Doliner <markdoliner@pidgin.im>
parents: 7025
diff changeset
991 };
458b55091f8b [gaim-migrate @ 7608]
Mark Doliner <markdoliner@pidgin.im>
parents: 7025
diff changeset
992
7011
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
993 typedef struct aim_userinfo_s {
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
994 char *sn;
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
995 fu16_t warnlevel; /* evil percent * 10 (999 = 99.9%) */
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
996 fu16_t idletime; /* in seconds */
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
997 fu16_t flags;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
998 fu32_t createtime; /* time_t */
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
999 fu32_t membersince; /* time_t */
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1000 fu32_t onlinesince; /* time_t */
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1001 fu32_t sessionlen; /* in seconds */
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1002 fu32_t capabilities;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1003 struct {
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1004 fu32_t status;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1005 fu32_t ipaddr;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1006 fu8_t crap[0x25]; /* until we figure it out... */
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1007 } icqinfo;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1008 fu32_t present;
7011
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1009
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1010 fu16_t iconcsumlen;
5836
88819e4cc840 [gaim-migrate @ 6267]
Mark Doliner <markdoliner@pidgin.im>
parents: 5800
diff changeset
1011 fu8_t *iconcsum;
7011
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1012
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1013 char *info;
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1014 char *info_encoding;
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1015 fu16_t info_len;
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1016
7011
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1017 char *avail;
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1018 char *avail_encoding;
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1019 fu16_t avail_len;
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1020
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1021 char *away;
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1022 char *away_encoding;
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1023 fu16_t away_len;
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1024
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1025 struct aim_userinfo_s *next;
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1026 } aim_userinfo_t;
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1027
7025
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1028 #define AIM_CAPS_BUDDYICON 0x00000001
8092
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 7945
diff changeset
1029 #define AIM_CAPS_TALK 0x00000002
7025
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1030 #define AIM_CAPS_DIRECTIM 0x00000004
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1031 #define AIM_CAPS_CHAT 0x00000008
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1032 #define AIM_CAPS_GETFILE 0x00000010
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1033 #define AIM_CAPS_SENDFILE 0x00000020
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1034 #define AIM_CAPS_GAMES 0x00000040
8092
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 7945
diff changeset
1035 #define AIM_CAPS_ADDINS 0x00000080
4650
5b2338bb19fd [gaim-migrate @ 4961]
Mark Doliner <markdoliner@pidgin.im>
parents: 4646
diff changeset
1036 #define AIM_CAPS_SENDBUDDYLIST 0x00000100
7025
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1037 #define AIM_CAPS_GAMES2 0x00000200
7141
431a007467e8 [gaim-migrate @ 7708]
Mark Doliner <markdoliner@pidgin.im>
parents: 7091
diff changeset
1038 #define AIM_CAPS_ICQ_DIRECT 0x00000400
7025
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1039 #define AIM_CAPS_APINFO 0x00000800
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1040 #define AIM_CAPS_ICQRTF 0x00001000
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1041 #define AIM_CAPS_EMPTY 0x00002000
4650
5b2338bb19fd [gaim-migrate @ 4961]
Mark Doliner <markdoliner@pidgin.im>
parents: 4646
diff changeset
1042 #define AIM_CAPS_ICQSERVERRELAY 0x00004000
7025
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1043 #define AIM_CAPS_ICQUTF8OLD 0x00008000
4650
5b2338bb19fd [gaim-migrate @ 4961]
Mark Doliner <markdoliner@pidgin.im>
parents: 4646
diff changeset
1044 #define AIM_CAPS_TRILLIANCRYPT 0x00010000
7025
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1045 #define AIM_CAPS_ICQUTF8 0x00020000
4811
ce0da6668339 [gaim-migrate @ 5131]
Mark Doliner <markdoliner@pidgin.im>
parents: 4804
diff changeset
1046 #define AIM_CAPS_INTEROPERATE 0x00040000
7025
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1047 #define AIM_CAPS_ICHAT 0x00080000
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1048 #define AIM_CAPS_HIPTOP 0x00100000
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1049 #define AIM_CAPS_SECUREIM 0x00200000
350e767230a9 [gaim-migrate @ 7588]
Mark Doliner <markdoliner@pidgin.im>
parents: 7011
diff changeset
1050 #define AIM_CAPS_SMS 0x00400000
7091
4430f44e86ad [gaim-migrate @ 7656]
Mark Doliner <markdoliner@pidgin.im>
parents: 7045
diff changeset
1051 #define AIM_CAPS_GENERICUNKNOWN 0x00800000
7582
54eadad0dd3f [gaim-migrate @ 8200]
Mark Doliner <markdoliner@pidgin.im>
parents: 7474
diff changeset
1052 #define AIM_CAPS_VIDEO 0x01000000
7945
7270cd25f841 [gaim-migrate @ 8619]
Mark Doliner <markdoliner@pidgin.im>
parents: 7806
diff changeset
1053 #define AIM_CAPS_ICHATAV 0x02000000
8092
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 7945
diff changeset
1054 #define AIM_CAPS_LIVEVIDEO 0x04000000
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 7945
diff changeset
1055 #define AIM_CAPS_CAMERA 0x08000000
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 7945
diff changeset
1056 #define AIM_CAPS_LAST 0x10000000
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1057
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1058 #define AIM_SENDMEMBLOCK_FLAG_ISREQUEST 0
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1059 #define AIM_SENDMEMBLOCK_FLAG_ISHASH 1
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1060
5556
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
1061 faim_export int aim_sendmemblock(aim_session_t *sess, aim_conn_t *conn, fu32_t offset, fu32_t len, const fu8_t *buf, fu8_t flag);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1062
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1063 struct aim_invite_priv {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1064 char *sn;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1065 char *roomname;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1066 fu16_t exchange;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1067 fu16_t instance;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1068 };
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1069
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1070 #define AIM_COOKIETYPE_UNKNOWN 0x00
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1071 #define AIM_COOKIETYPE_ICBM 0x01
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1072 #define AIM_COOKIETYPE_ADS 0x02
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1073 #define AIM_COOKIETYPE_BOS 0x03
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1074 #define AIM_COOKIETYPE_IM 0x04
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1075 #define AIM_COOKIETYPE_CHAT 0x05
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1076 #define AIM_COOKIETYPE_CHATNAV 0x06
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1077 #define AIM_COOKIETYPE_INVITE 0x07
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1078 /* we'll move OFT up a bit to give breathing room. not like it really
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1079 * matters. */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1080 #define AIM_COOKIETYPE_OFTIM 0x10
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1081 #define AIM_COOKIETYPE_OFTGET 0x11
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1082 #define AIM_COOKIETYPE_OFTSEND 0x12
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1083 #define AIM_COOKIETYPE_OFTVOICE 0x13
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1084 #define AIM_COOKIETYPE_OFTIMAGE 0x14
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1085 #define AIM_COOKIETYPE_OFTICON 0x15
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1086
7045
458b55091f8b [gaim-migrate @ 7608]
Mark Doliner <markdoliner@pidgin.im>
parents: 7025
diff changeset
1087 faim_export aim_userinfo_t *aim_locate_finduserinfo(aim_session_t *sess, const char *sn);
8341
dc43b1acfc1a [gaim-migrate @ 9065]
Mark Doliner <markdoliner@pidgin.im>
parents: 8244
diff changeset
1088 faim_export void aim_locate_dorequest(aim_session_t *sess);
7011
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1089
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1090 /* 0x0002 */ faim_export int aim_locate_reqrights(aim_session_t *sess);
7334
4d1a7f313b70 [gaim-migrate @ 7922]
Mark Doliner <markdoliner@pidgin.im>
parents: 7313
diff changeset
1091 /* 0x0004 */ faim_export int aim_locate_setprofile(aim_session_t *sess, const char *profile_encoding, const char *profile, const int profile_len, const char *awaymsg_encoding, const char *awaymsg, const int awaymsg_len);
4d1a7f313b70 [gaim-migrate @ 7922]
Mark Doliner <markdoliner@pidgin.im>
parents: 7313
diff changeset
1092 /* 0x0004 */ faim_export int aim_locate_setcaps(aim_session_t *sess, fu32_t caps);
7011
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1093 /* 0x0005 */ faim_export int aim_locate_getinfo(aim_session_t *sess, const char *, fu16_t);
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1094 /* 0x0009 */ faim_export int aim_locate_setdirinfo(aim_session_t *sess, const char *first, const char *middle, const char *last, const char *maiden, const char *nickname, const char *street, const char *city, const char *state, const char *zip, int country, fu16_t privacy);
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1095 /* 0x000b */ faim_export int aim_locate_000b(aim_session_t *sess, const char *sn);
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1096 /* 0x000f */ faim_export int aim_locate_setinterests(aim_session_t *sess, const char *interest1, const char *interest2, const char *interest3, const char *interest4, const char *interest5, fu16_t privacy);
00f405d9922b [gaim-migrate @ 7574]
Mark Doliner <markdoliner@pidgin.im>
parents: 6879
diff changeset
1097 /* 0x0015 */ faim_export int aim_locate_getinfoshort(aim_session_t *sess, const char *sn, fu32_t flags);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1098
2167
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2122
diff changeset
1099
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1100
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1101 /* 0x0003 - buddylist.c */
7285
b9d07d0c9bc2 [gaim-migrate @ 7866]
Mark Doliner <markdoliner@pidgin.im>
parents: 7282
diff changeset
1102 /* 0x0002 */ faim_export int aim_buddylist_reqrights(aim_session_t *, aim_conn_t *);
b9d07d0c9bc2 [gaim-migrate @ 7866]
Mark Doliner <markdoliner@pidgin.im>
parents: 7282
diff changeset
1103 /* 0x0004 */ faim_export int aim_buddylist_set(aim_session_t *, aim_conn_t *, const char *);
b9d07d0c9bc2 [gaim-migrate @ 7866]
Mark Doliner <markdoliner@pidgin.im>
parents: 7282
diff changeset
1104 /* 0x0004 */ faim_export int aim_buddylist_addbuddy(aim_session_t *, aim_conn_t *, const char *);
b9d07d0c9bc2 [gaim-migrate @ 7866]
Mark Doliner <markdoliner@pidgin.im>
parents: 7282
diff changeset
1105 /* 0x0005 */ faim_export int aim_buddylist_removebuddy(aim_session_t *, aim_conn_t *, const char *);
b9d07d0c9bc2 [gaim-migrate @ 7866]
Mark Doliner <markdoliner@pidgin.im>
parents: 7282
diff changeset
1106 /* 0x000b */ faim_export int aim_buddylist_oncoming(aim_session_t *sess, aim_conn_t *conn, aim_userinfo_t *info);
b9d07d0c9bc2 [gaim-migrate @ 7866]
Mark Doliner <markdoliner@pidgin.im>
parents: 7282
diff changeset
1107 /* 0x000c */ faim_export int aim_buddylist_offgoing(aim_session_t *sess, aim_conn_t *conn, const char *sn);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1108
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
1109
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
1110
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1111 /* 0x000a - search.c */
6879
cc7abcef355c [gaim-migrate @ 7425]
Mark Doliner <markdoliner@pidgin.im>
parents: 6871
diff changeset
1112 faim_export int aim_search_address(aim_session_t *, aim_conn_t *, const char *);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1113
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
1114
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
1115
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1116 /* 0x000d - chatnav.c */
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1117 /* 0x000e - chat.c */
2821
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
1118 /* These apply to exchanges as well. */
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
1119 #define AIM_CHATROOM_FLAG_EVILABLE 0x0001
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
1120 #define AIM_CHATROOM_FLAG_NAV_ONLY 0x0002
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
1121 #define AIM_CHATROOM_FLAG_INSTANCING_ALLOWED 0x0004
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
1122 #define AIM_CHATROOM_FLAG_OCCUPANT_PEEK_ALLOWED 0x0008
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
1123
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1124 struct aim_chat_exchangeinfo {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1125 fu16_t number;
2821
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
1126 fu16_t flags;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1127 char *name;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1128 char *charset1;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1129 char *lang1;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1130 char *charset2;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1131 char *lang2;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1132 };
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1133
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1134 #define AIM_CHATFLAGS_NOREFLECT 0x0001
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1135 #define AIM_CHATFLAGS_AWAY 0x0002
8233
97f084da74f8 [gaim-migrate @ 8956]
Mark Doliner <markdoliner@pidgin.im>
parents: 8225
diff changeset
1136 faim_export int aim_chat_send_im(aim_session_t *sess, aim_conn_t *conn, fu16_t flags, const char *msg, int msglen, const char *encoding, const char *language);
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1137 faim_export int aim_chat_join(aim_session_t *sess, aim_conn_t *conn, fu16_t exchange, const char *roomname, fu16_t instance);
2821
f1ab7f03bdad [gaim-migrate @ 2834]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2764
diff changeset
1138 faim_export int aim_chat_attachname(aim_conn_t *conn, fu16_t exchange, const char *roomname, fu16_t instance);
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1139 faim_export char *aim_chat_getname(aim_conn_t *conn);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1140 faim_export aim_conn_t *aim_chat_getconn(aim_session_t *, const char *name);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1141
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1142 faim_export int aim_chatnav_reqrights(aim_session_t *sess, aim_conn_t *conn);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1143
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1144 faim_export int aim_chatnav_createroom(aim_session_t *sess, aim_conn_t *conn, const char *name, fu16_t exchange);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1145 faim_export int aim_chat_leaveroom(aim_session_t *sess, const char *name);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1146
2672
5c9b7617a1f3 [gaim-migrate @ 2685]
Adam Fritzler <mid@auk.cx>
parents: 2669
diff changeset
1147
4230
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1148
6879
cc7abcef355c [gaim-migrate @ 7425]
Mark Doliner <markdoliner@pidgin.im>
parents: 6871
diff changeset
1149 /* 0x000f - odir.c */
cc7abcef355c [gaim-migrate @ 7425]
Mark Doliner <markdoliner@pidgin.im>
parents: 6871
diff changeset
1150 struct aim_odir {
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1151 char *first;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1152 char *last;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1153 char *middle;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1154 char *maiden;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1155 char *email;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1156 char *country;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1157 char *state;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1158 char *city;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1159 char *sn;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1160 char *interest;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1161 char *nick;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1162 char *zip;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1163 char *region;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1164 char *address;
6879
cc7abcef355c [gaim-migrate @ 7425]
Mark Doliner <markdoliner@pidgin.im>
parents: 6871
diff changeset
1165 struct aim_odir *next;
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1166 };
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1167
6879
cc7abcef355c [gaim-migrate @ 7425]
Mark Doliner <markdoliner@pidgin.im>
parents: 6871
diff changeset
1168 faim_export int aim_odir_email(aim_session_t *, const char *, const char *);
cc7abcef355c [gaim-migrate @ 7425]
Mark Doliner <markdoliner@pidgin.im>
parents: 6871
diff changeset
1169 faim_export int aim_odir_name(aim_session_t *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *);
cc7abcef355c [gaim-migrate @ 7425]
Mark Doliner <markdoliner@pidgin.im>
parents: 6871
diff changeset
1170 faim_export int aim_odir_interest(aim_session_t *, const char *, const char *);
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1171
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1172
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1173
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1174 /* 0x0010 - icon.c */
6879
cc7abcef355c [gaim-migrate @ 7425]
Mark Doliner <markdoliner@pidgin.im>
parents: 6871
diff changeset
1175 faim_export int aim_bart_upload(aim_session_t *sess, const fu8_t *icon, fu16_t iconlen);
cc7abcef355c [gaim-migrate @ 7425]
Mark Doliner <markdoliner@pidgin.im>
parents: 6871
diff changeset
1176 faim_export int aim_bart_request(aim_session_t *sess, const char *sn, const fu8_t *iconstr, fu16_t iconstrlen);
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1177
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1178
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1179
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1180 /* 0x0013 - ssi.c */
4889
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1181 #define AIM_SSI_TYPE_BUDDY 0x0000
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1182 #define AIM_SSI_TYPE_GROUP 0x0001
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1183 #define AIM_SSI_TYPE_PERMIT 0x0002
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1184 #define AIM_SSI_TYPE_DENY 0x0003
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1185 #define AIM_SSI_TYPE_PDINFO 0x0004
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1186 #define AIM_SSI_TYPE_PRESENCEPREFS 0x0005
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1187 #define AIM_SSI_TYPE_ICONINFO 0x0014
2672
5c9b7617a1f3 [gaim-migrate @ 2685]
Adam Fritzler <mid@auk.cx>
parents: 2669
diff changeset
1188
4889
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1189 #define AIM_SSI_ACK_SUCCESS 0x0000
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1190 #define AIM_SSI_ACK_ITEMNOTFOUND 0x0002
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1191 #define AIM_SSI_ACK_IDNUMINUSE 0x000a
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1192 #define AIM_SSI_ACK_ATMAX 0x000c
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1193 #define AIM_SSI_ACK_INVALIDNAME 0x000d
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1194 #define AIM_SSI_ACK_AUTHREQUIRED 0x000e
4230
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1195
2672
5c9b7617a1f3 [gaim-migrate @ 2685]
Adam Fritzler <mid@auk.cx>
parents: 2669
diff changeset
1196 struct aim_ssi_item {
5c9b7617a1f3 [gaim-migrate @ 2685]
Adam Fritzler <mid@auk.cx>
parents: 2669
diff changeset
1197 char *name;
5c9b7617a1f3 [gaim-migrate @ 2685]
Adam Fritzler <mid@auk.cx>
parents: 2669
diff changeset
1198 fu16_t gid;
5c9b7617a1f3 [gaim-migrate @ 2685]
Adam Fritzler <mid@auk.cx>
parents: 2669
diff changeset
1199 fu16_t bid;
5c9b7617a1f3 [gaim-migrate @ 2685]
Adam Fritzler <mid@auk.cx>
parents: 2669
diff changeset
1200 fu16_t type;
4230
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1201 struct aim_tlvlist_s *data;
2672
5c9b7617a1f3 [gaim-migrate @ 2685]
Adam Fritzler <mid@auk.cx>
parents: 2669
diff changeset
1202 struct aim_ssi_item *next;
5c9b7617a1f3 [gaim-migrate @ 2685]
Adam Fritzler <mid@auk.cx>
parents: 2669
diff changeset
1203 };
5c9b7617a1f3 [gaim-migrate @ 2685]
Adam Fritzler <mid@auk.cx>
parents: 2669
diff changeset
1204
4230
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1205 struct aim_ssi_tmp {
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1206 fu16_t action;
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1207 fu16_t ack;
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1208 char *name;
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1209 struct aim_ssi_item *item;
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1210 struct aim_ssi_tmp *next;
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1211 };
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1212
3109
c193eb9c1c30 [gaim-migrate @ 3123]
Mark Doliner <markdoliner@pidgin.im>
parents: 3079
diff changeset
1213 /* These build the actual SNACs and queue them to be sent */
4889
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1214 /* 0x0002 */ faim_export int aim_ssi_reqrights(aim_session_t *sess);
6350
22dfc953f2fb [gaim-migrate @ 6849]
Ethan Blanton <elb@pidgin.im>
parents: 6323
diff changeset
1215 /* 0x0004 */ faim_export int aim_ssi_reqdata(aim_session_t *sess);
22dfc953f2fb [gaim-migrate @ 6849]
Ethan Blanton <elb@pidgin.im>
parents: 6323
diff changeset
1216 /* 0x0005 */ faim_export int aim_ssi_reqifchanged(aim_session_t *sess, time_t localstamp, fu16_t localrev);
4642
a491791dc1a1 [gaim-migrate @ 4952]
Mark Doliner <markdoliner@pidgin.im>
parents: 4625
diff changeset
1217 /* 0x0007 */ faim_export int aim_ssi_enable(aim_session_t *sess);
4889
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1218 /* 0x0008 */ faim_export int aim_ssi_addmoddel(aim_session_t *sess);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1219 /* 0x0011 */ faim_export int aim_ssi_modbegin(aim_session_t *sess);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1220 /* 0x0012 */ faim_export int aim_ssi_modend(aim_session_t *sess);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1221 /* 0x0014 */ faim_export int aim_ssi_sendauth(aim_session_t *sess, char *sn, char *msg);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1222 /* 0x0018 */ faim_export int aim_ssi_sendauthrequest(aim_session_t *sess, char *sn, char *msg);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1223 /* 0x001a */ faim_export int aim_ssi_sendauthreply(aim_session_t *sess, char *sn, fu8_t reply, char *msg);
2672
5c9b7617a1f3 [gaim-migrate @ 2685]
Adam Fritzler <mid@auk.cx>
parents: 2669
diff changeset
1224
4230
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1225 /* Client functions for retrieving SSI data */
3210
9f0e2d3d8a02 [gaim-migrate @ 3227]
Mark Doliner <markdoliner@pidgin.im>
parents: 3141
diff changeset
1226 faim_export struct aim_ssi_item *aim_ssi_itemlist_find(struct aim_ssi_item *list, fu16_t gid, fu16_t bid);
3466
db8d35ad8480 [gaim-migrate @ 3516]
Sean Egan <seanegan@pidgin.im>
parents: 3459
diff changeset
1227 faim_export struct aim_ssi_item *aim_ssi_itemlist_finditem(struct aim_ssi_item *list, const char *gn, const char *sn, fu16_t type);
4230
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1228 faim_export struct aim_ssi_item *aim_ssi_itemlist_exists(struct aim_ssi_item *list, const char *sn);
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1229 faim_export char *aim_ssi_itemlist_findparentname(struct aim_ssi_item *list, const char *sn);
3210
9f0e2d3d8a02 [gaim-migrate @ 3227]
Mark Doliner <markdoliner@pidgin.im>
parents: 3141
diff changeset
1230 faim_export int aim_ssi_getpermdeny(struct aim_ssi_item *list);
9f0e2d3d8a02 [gaim-migrate @ 3227]
Mark Doliner <markdoliner@pidgin.im>
parents: 3141
diff changeset
1231 faim_export fu32_t aim_ssi_getpresence(struct aim_ssi_item *list);
4238
d689819722e1 [gaim-migrate @ 4484]
Mark Doliner <markdoliner@pidgin.im>
parents: 4230
diff changeset
1232 faim_export char *aim_ssi_getalias(struct aim_ssi_item *list, const char *gn, const char *sn);
7172
cf6ed52de3c7 [gaim-migrate @ 7740]
Mark Doliner <markdoliner@pidgin.im>
parents: 7167
diff changeset
1233 faim_export char *aim_ssi_getcomment(struct aim_ssi_item *list, const char *gn, const char *sn);
4243
c82865915d79 [gaim-migrate @ 4493]
Mark Doliner <markdoliner@pidgin.im>
parents: 4238
diff changeset
1234 faim_export int aim_ssi_waitingforauth(struct aim_ssi_item *list, const char *gn, const char *sn);
4230
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1235
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1236 /* Client functions for changing SSI data */
4889
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1237 faim_export int aim_ssi_addbuddy(aim_session_t *sess, const char *name, const char *group, const char *alias, const char *comment, const char *smsnum, int needauth);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1238 faim_export int aim_ssi_addpermit(aim_session_t *sess, const char *name);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1239 faim_export int aim_ssi_adddeny(aim_session_t *sess, const char *name);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1240 faim_export int aim_ssi_delbuddy(aim_session_t *sess, const char *name, const char *group);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1241 faim_export int aim_ssi_delpermit(aim_session_t *sess, const char *name);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1242 faim_export int aim_ssi_deldeny(aim_session_t *sess, const char *name);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1243 faim_export int aim_ssi_movebuddy(aim_session_t *sess, const char *oldgn, const char *newgn, const char *sn);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1244 faim_export int aim_ssi_aliasbuddy(aim_session_t *sess, const char *gn, const char *sn, const char *alias);
7172
cf6ed52de3c7 [gaim-migrate @ 7740]
Mark Doliner <markdoliner@pidgin.im>
parents: 7167
diff changeset
1245 faim_export int aim_ssi_editcomment(aim_session_t *sess, const char *gn, const char *sn, const char *alias);
4889
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1246 faim_export int aim_ssi_rename_group(aim_session_t *sess, const char *oldgn, const char *newgn);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1247 faim_export int aim_ssi_cleanlist(aim_session_t *sess);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1248 faim_export int aim_ssi_deletelist(aim_session_t *sess);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1249 faim_export int aim_ssi_setpermdeny(aim_session_t *sess, fu8_t permdeny, fu32_t vismask);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1250 faim_export int aim_ssi_setpresence(aim_session_t *sess, fu32_t presence);
9c81754db28e [gaim-migrate @ 5219]
Mark Doliner <markdoliner@pidgin.im>
parents: 4870
diff changeset
1251 faim_export int aim_ssi_seticon(aim_session_t *sess, fu8_t *iconsum, fu16_t iconsumlen);
7313
557d9e2b5dea [gaim-migrate @ 7897]
Mark Doliner <markdoliner@pidgin.im>
parents: 7285
diff changeset
1252 faim_export int aim_ssi_delicon(aim_session_t *sess);
2991
692468b98a03 [gaim-migrate @ 3004]
Rob Flynn <gaim@robflynn.com>
parents: 2979
diff changeset
1253
4230
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1254
b5393db78439 [gaim-migrate @ 4475]
Mark Doliner <markdoliner@pidgin.im>
parents: 4194
diff changeset
1255
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1256 /* 0x0015 - icq.c */
4624
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1257 #define AIM_ICQ_INFO_SIMPLE 0x001
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1258 #define AIM_ICQ_INFO_SUMMARY 0x002
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1259 #define AIM_ICQ_INFO_EMAIL 0x004
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1260 #define AIM_ICQ_INFO_PERSONAL 0x008
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1261 #define AIM_ICQ_INFO_ADDITIONAL 0x010
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1262 #define AIM_ICQ_INFO_WORK 0x020
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1263 #define AIM_ICQ_INFO_INTERESTS 0x040
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1264 #define AIM_ICQ_INFO_ORGS 0x080
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1265 #define AIM_ICQ_INFO_UNKNOWN 0x100
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1266 #define AIM_ICQ_INFO_HAVEALL 0x1ff
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1267
2706
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1268 struct aim_icq_offlinemsg {
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1269 fu32_t sender;
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1270 fu16_t year;
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1271 fu8_t month, day, hour, minute;
4173
e2528bd24e6f [gaim-migrate @ 4403]
Mark Doliner <markdoliner@pidgin.im>
parents: 4151
diff changeset
1272 fu8_t type;
e2528bd24e6f [gaim-migrate @ 4403]
Mark Doliner <markdoliner@pidgin.im>
parents: 4151
diff changeset
1273 fu8_t flags;
2706
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1274 char *msg;
4076
563a1af15501 [gaim-migrate @ 4291]
Mark Doliner <markdoliner@pidgin.im>
parents: 4071
diff changeset
1275 int msglen;
2706
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1276 };
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1277
4151
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1278 struct aim_icq_info {
4624
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1279 fu16_t reqid;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1280
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1281 /* simple */
2742
2ffd839888a5 [gaim-migrate @ 2755]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2734
diff changeset
1282 fu32_t uin;
4624
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1283
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1284 /* general and "home" information (0x00c8) */
2742
2ffd839888a5 [gaim-migrate @ 2755]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2734
diff changeset
1285 char *nick;
2ffd839888a5 [gaim-migrate @ 2755]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2734
diff changeset
1286 char *first;
2ffd839888a5 [gaim-migrate @ 2755]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2734
diff changeset
1287 char *last;
2ffd839888a5 [gaim-migrate @ 2755]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2734
diff changeset
1288 char *email;
4151
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1289 char *homecity;
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1290 char *homestate;
4624
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1291 char *homephone;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1292 char *homefax;
4151
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1293 char *homeaddr;
4624
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1294 char *mobile;
4151
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1295 char *homezip;
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1296 fu16_t homecountry;
4624
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1297 /* fu8_t timezone;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1298 fu8_t hideemail; */
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1299
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1300 /* personal (0x00dc) */
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1301 fu8_t age;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1302 fu8_t unknown;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1303 fu8_t gender;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1304 char *personalwebpage;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1305 fu16_t birthyear;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1306 fu8_t birthmonth;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1307 fu8_t birthday;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1308 fu8_t language1;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1309 fu8_t language2;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1310 fu8_t language3;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1311
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1312 /* work (0x00d2) */
4151
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1313 char *workcity;
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1314 char *workstate;
4624
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1315 char *workphone;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1316 char *workfax;
4151
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1317 char *workaddr;
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1318 char *workzip;
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1319 fu16_t workcountry;
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1320 char *workcompany;
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1321 char *workdivision;
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1322 char *workposition;
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1323 char *workwebpage;
4624
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1324
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1325 /* additional personal information (0x00e6) */
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1326 char *info;
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1327
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1328 /* email (0x00eb) */
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1329 fu16_t numaddresses;
4625
f5b87130e1c4 [gaim-migrate @ 4916]
Mark Doliner <markdoliner@pidgin.im>
parents: 4624
diff changeset
1330 char **email2;
4624
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1331
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1332 /* we keep track of these in a linked list because we're 1337 */
8bf85f27e60c [gaim-migrate @ 4915]
Mark Doliner <markdoliner@pidgin.im>
parents: 4617
diff changeset
1333 struct aim_icq_info *next;
2742
2ffd839888a5 [gaim-migrate @ 2755]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2734
diff changeset
1334 };
2ffd839888a5 [gaim-migrate @ 2755]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2734
diff changeset
1335
2706
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1336 faim_export int aim_icq_reqofflinemsgs(aim_session_t *sess);
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1337 faim_export int aim_icq_ackofflinemsgs(aim_session_t *sess);
4664
1f5d72a07e64 [gaim-migrate @ 4975]
Mark Doliner <markdoliner@pidgin.im>
parents: 4662
diff changeset
1338 faim_export int aim_icq_hideip(aim_session_t *sess);
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
1339 faim_export int aim_icq_changepasswd(aim_session_t *sess, const char *passwd);
2742
2ffd839888a5 [gaim-migrate @ 2755]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2734
diff changeset
1340 faim_export int aim_icq_getsimpleinfo(aim_session_t *sess, const char *uin);
4759
5a8c326b49b3 [gaim-migrate @ 5076]
Mark Doliner <markdoliner@pidgin.im>
parents: 4664
diff changeset
1341 faim_export int aim_icq_getalias(aim_session_t *sess, const char *uin);
4151
29004a3d21a0 [gaim-migrate @ 4377]
Mark Doliner <markdoliner@pidgin.im>
parents: 4102
diff changeset
1342 faim_export int aim_icq_getallinfo(aim_session_t *sess, const char *uin);
2706
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1343
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
1344
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
1345
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1346 /* 0x0017 - auth.c */
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1347 faim_export int aim_sendcookie(aim_session_t *, aim_conn_t *, const fu16_t length, const fu8_t *);
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1348 faim_export int aim_admin_changepasswd(aim_session_t *, aim_conn_t *, const char *newpw, const char *curpw);
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1349 faim_export int aim_admin_reqconfirm(aim_session_t *sess, aim_conn_t *conn);
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1350 faim_export int aim_admin_getinfo(aim_session_t *sess, aim_conn_t *conn, fu16_t info);
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1351 faim_export int aim_admin_setemail(aim_session_t *sess, aim_conn_t *conn, const char *newemail);
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1352 faim_export int aim_admin_setnick(aim_session_t *sess, aim_conn_t *conn, const char *newnick);
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1353
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1354
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1355
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1356 /* 0x0018 - email.c */
3694
49a336931cc6 [gaim-migrate @ 3824]
Mark Doliner <markdoliner@pidgin.im>
parents: 3630
diff changeset
1357 struct aim_emailinfo {
49a336931cc6 [gaim-migrate @ 3824]
Mark Doliner <markdoliner@pidgin.im>
parents: 3630
diff changeset
1358 fu8_t *cookie16;
49a336931cc6 [gaim-migrate @ 3824]
Mark Doliner <markdoliner@pidgin.im>
parents: 3630
diff changeset
1359 fu8_t *cookie8;
49a336931cc6 [gaim-migrate @ 3824]
Mark Doliner <markdoliner@pidgin.im>
parents: 3630
diff changeset
1360 char *url;
49a336931cc6 [gaim-migrate @ 3824]
Mark Doliner <markdoliner@pidgin.im>
parents: 3630
diff changeset
1361 fu16_t nummsgs;
49a336931cc6 [gaim-migrate @ 3824]
Mark Doliner <markdoliner@pidgin.im>
parents: 3630
diff changeset
1362 fu8_t unread;
49a336931cc6 [gaim-migrate @ 3824]
Mark Doliner <markdoliner@pidgin.im>
parents: 3630
diff changeset
1363 char *domain;
49a336931cc6 [gaim-migrate @ 3824]
Mark Doliner <markdoliner@pidgin.im>
parents: 3630
diff changeset
1364 fu16_t flag;
49a336931cc6 [gaim-migrate @ 3824]
Mark Doliner <markdoliner@pidgin.im>
parents: 3630
diff changeset
1365 struct aim_emailinfo *next;
49a336931cc6 [gaim-migrate @ 3824]
Mark Doliner <markdoliner@pidgin.im>
parents: 3630
diff changeset
1366 };
49a336931cc6 [gaim-migrate @ 3824]
Mark Doliner <markdoliner@pidgin.im>
parents: 3630
diff changeset
1367
7282
73b94979f76b [gaim-migrate @ 7861]
Mark Doliner <markdoliner@pidgin.im>
parents: 7260
diff changeset
1368 faim_export int aim_email_sendcookies(aim_session_t *sess);
73b94979f76b [gaim-migrate @ 7861]
Mark Doliner <markdoliner@pidgin.im>
parents: 7260
diff changeset
1369 faim_export int aim_email_activate(aim_session_t *sess);
3694
49a336931cc6 [gaim-migrate @ 3824]
Mark Doliner <markdoliner@pidgin.im>
parents: 3630
diff changeset
1370
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
1371
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
1372
7167
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1373 #if defined(FAIM_INTERNAL) || defined(FAIM_NEED_TLV)
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1374 /* tlv.c - TLV handling */
7167
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1375
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1376 /* TLV structure */
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1377 typedef struct aim_tlv_s {
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1378 fu16_t type;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1379 fu16_t length;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1380 fu8_t *value;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1381 } aim_tlv_t;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1382
7167
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1383 /* TLV List structure */
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1384 typedef struct aim_tlvlist_s {
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1385 aim_tlv_t *tlv;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1386 struct aim_tlvlist_s *next;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1387 } aim_tlvlist_t;
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1388
7167
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1389 /* TLV handling functions */
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1390 faim_internal aim_tlv_t *aim_tlv_gettlv(aim_tlvlist_t *list, fu16_t type, const int nth);
9933
61bd3fadbfe6 [gaim-migrate @ 10825]
Dave West <kat@users.sourceforge.net>
parents: 9826
diff changeset
1391 faim_internal int aim_tlv_getlength(aim_tlvlist_t *list, fu16_t type, const int nth);
7167
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1392 faim_internal char *aim_tlv_getstr(aim_tlvlist_t *list, const fu16_t type, const int nth);
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1393 faim_internal fu8_t aim_tlv_get8(aim_tlvlist_t *list, const fu16_t type, const int nth);
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1394 faim_internal fu16_t aim_tlv_get16(aim_tlvlist_t *list, const fu16_t type, const int nth);
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1395 faim_internal fu32_t aim_tlv_get32(aim_tlvlist_t *list, const fu16_t type, const int nth);
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1396
7167
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1397 /* TLV list handling functions */
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1398 faim_internal aim_tlvlist_t *aim_tlvlist_read(aim_bstream_t *bs);
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1399 faim_internal aim_tlvlist_t *aim_tlvlist_readnum(aim_bstream_t *bs, fu16_t num);
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1400 faim_internal aim_tlvlist_t *aim_tlvlist_readlen(aim_bstream_t *bs, fu16_t len);
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1401 faim_internal aim_tlvlist_t *aim_tlvlist_copy(aim_tlvlist_t *orig);
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1402
7167
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1403 faim_internal int aim_tlvlist_count(aim_tlvlist_t **list);
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1404 faim_internal int aim_tlvlist_size(aim_tlvlist_t **list);
6101
c3762fa398c4 [gaim-migrate @ 6560]
Mark Doliner <markdoliner@pidgin.im>
parents: 6059
diff changeset
1405 faim_internal int aim_tlvlist_cmp(aim_tlvlist_t *one, aim_tlvlist_t *two);
7167
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1406 faim_internal int aim_tlvlist_write(aim_bstream_t *bs, aim_tlvlist_t **list);
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1407 faim_internal void aim_tlvlist_free(aim_tlvlist_t **list);
7166
70825074f830 [gaim-migrate @ 7733]
Mark Doliner <markdoliner@pidgin.im>
parents: 7141
diff changeset
1408
7167
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1409 faim_internal int aim_tlvlist_add_raw(aim_tlvlist_t **list, const fu16_t type, const fu16_t length, const fu8_t *value);
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1410 faim_internal int aim_tlvlist_add_noval(aim_tlvlist_t **list, const fu16_t type);
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1411 faim_internal int aim_tlvlist_add_8(aim_tlvlist_t **list, const fu16_t type, const fu8_t value);
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1412 faim_internal int aim_tlvlist_add_16(aim_tlvlist_t **list, const fu16_t type, const fu16_t value);
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1413 faim_internal int aim_tlvlist_add_32(aim_tlvlist_t **list, const fu16_t type, const fu32_t value);
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1414 faim_internal int aim_tlvlist_add_caps(aim_tlvlist_t **list, const fu16_t type, const fu32_t caps);
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1415 faim_internal int aim_tlvlist_add_userinfo(aim_tlvlist_t **list, fu16_t type, aim_userinfo_t *userinfo);
8225
4ef47db8c9bc [gaim-migrate @ 8948]
Mark Doliner <markdoliner@pidgin.im>
parents: 8219
diff changeset
1416 faim_internal int aim_tlvlist_add_chatroom(aim_tlvlist_t **list, fu16_t type, fu16_t exchange, const char *roomname, fu16_t instance);
7167
9cfb68a44e17 [gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents: 7166
diff changeset
1417 faim_internal int aim_tlvlist_add_frozentlvlist(aim_tlvlist_t **list, fu16_t type, aim_tlvlist_t **tl);
7166
70825074f830 [gaim-migrate @ 7733]
Mark Doliner <markdoliner@pidgin.im>
parents: 7141
diff changeset
1418
70825074f830 [gaim-migrate @ 7733]
Mark Doliner <markdoliner@pidgin.im>
parents: 7141
diff changeset
1419 faim_internal int aim_tlvlist_replace_raw(aim_tlvlist_t **list, const fu16_t type, const fu16_t lenth, const fu8_t *value);
70825074f830 [gaim-migrate @ 7733]
Mark Doliner <markdoliner@pidgin.im>
parents: 7141
diff changeset
1420 faim_internal int aim_tlvlist_replace_noval(aim_tlvlist_t **list, const fu16_t type);
70825074f830 [gaim-migrate @ 7733]
Mark Doliner <markdoliner@pidgin.im>
parents: 7141
diff changeset
1421 faim_internal int aim_tlvlist_replace_8(aim_tlvlist_t **list, const fu16_t type, const fu8_t value);
70825074f830 [gaim-migrate @ 7733]
Mark Doliner <markdoliner@pidgin.im>
parents: 7141
diff changeset
1422 faim_internal int aim_tlvlist_replace_16(aim_tlvlist_t **list, const fu16_t type, const fu16_t value);
70825074f830 [gaim-migrate @ 7733]
Mark Doliner <markdoliner@pidgin.im>
parents: 7141
diff changeset
1423 faim_internal int aim_tlvlist_replace_32(aim_tlvlist_t **list, const fu16_t type, const fu32_t value);
70825074f830 [gaim-migrate @ 7733]
Mark Doliner <markdoliner@pidgin.im>
parents: 7141
diff changeset
1424
70825074f830 [gaim-migrate @ 7733]
Mark Doliner <markdoliner@pidgin.im>
parents: 7141
diff changeset
1425 faim_internal void aim_tlvlist_remove(aim_tlvlist_t **list, const fu16_t type);
4901
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1426 #endif /* FAIM_INTERNAL */
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1427
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1428
8a9aebd9897f [gaim-migrate @ 5235]
Mark Doliner <markdoliner@pidgin.im>
parents: 4898
diff changeset
1429
3912
334ebe7e5f93 [gaim-migrate @ 4071]
Mark Doliner <markdoliner@pidgin.im>
parents: 3867
diff changeset
1430 /* util.c */
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1431 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1432 * These are really ugly. You'd think this was LISP. I wish it was.
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1433 *
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1434 * XXX With the advent of bstream's, these should be removed to enforce
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1435 * their use.
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1436 *
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1437 */
5927
f83c9f4afb60 [gaim-migrate @ 6367]
Ryan McCabe
parents: 5917
diff changeset
1438 #define aimutil_put8(buf, data) ((*(buf) = (fu8_t)(data)&0xff),1)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1439 #define aimutil_get8(buf) ((*(buf))&0xff)
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1440 #define aimutil_put16(buf, data) ( \
5927
f83c9f4afb60 [gaim-migrate @ 6367]
Ryan McCabe
parents: 5917
diff changeset
1441 (*(buf) = (fu8_t)((data)>>8)&0xff), \
f83c9f4afb60 [gaim-migrate @ 6367]
Ryan McCabe
parents: 5917
diff changeset
1442 (*((buf)+1) = (fu8_t)(data)&0xff), \
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1443 2)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1444 #define aimutil_get16(buf) ((((*(buf))<<8)&0xff00) + ((*((buf)+1)) & 0xff))
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1445 #define aimutil_put32(buf, data) ( \
5927
f83c9f4afb60 [gaim-migrate @ 6367]
Ryan McCabe
parents: 5917
diff changeset
1446 (*((buf)) = (fu8_t)((data)>>24)&0xff), \
f83c9f4afb60 [gaim-migrate @ 6367]
Ryan McCabe
parents: 5917
diff changeset
1447 (*((buf)+1) = (fu8_t)((data)>>16)&0xff), \
f83c9f4afb60 [gaim-migrate @ 6367]
Ryan McCabe
parents: 5917
diff changeset
1448 (*((buf)+2) = (fu8_t)((data)>>8)&0xff), \
f83c9f4afb60 [gaim-migrate @ 6367]
Ryan McCabe
parents: 5917
diff changeset
1449 (*((buf)+3) = (fu8_t)(data)&0xff), \
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1450 4)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1451 #define aimutil_get32(buf) ((((*(buf))<<24)&0xff000000) + \
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1452 (((*((buf)+1))<<16)&0x00ff0000) + \
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1453 (((*((buf)+2))<< 8)&0x0000ff00) + \
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2196
diff changeset
1454 (((*((buf)+3) )&0x000000ff)))
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1455
2706
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1456 /* Little-endian versions (damn ICQ) */
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1457 #define aimutil_putle8(buf, data) ( \
5556
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
1458 (*(buf) = (fu8_t)(data) & 0xff), \
2706
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1459 1)
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1460 #define aimutil_getle8(buf) ( \
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1461 (*(buf)) & 0xff \
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1462 )
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1463 #define aimutil_putle16(buf, data) ( \
5556
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
1464 (*((buf)+0) = (fu8_t)((data) >> 0) & 0xff), \
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
1465 (*((buf)+1) = (fu8_t)((data) >> 8) & 0xff), \
2706
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1466 2)
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1467 #define aimutil_getle16(buf) ( \
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1468 (((*((buf)+0)) << 0) & 0x00ff) + \
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1469 (((*((buf)+1)) << 8) & 0xff00) \
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1470 )
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1471 #define aimutil_putle32(buf, data) ( \
5556
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
1472 (*((buf)+0) = (fu8_t)((data) >> 0) & 0xff), \
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
1473 (*((buf)+1) = (fu8_t)((data) >> 8) & 0xff), \
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
1474 (*((buf)+2) = (fu8_t)((data) >> 16) & 0xff), \
5d64702e975b [gaim-migrate @ 5957]
Mark Doliner <markdoliner@pidgin.im>
parents: 5414
diff changeset
1475 (*((buf)+3) = (fu8_t)((data) >> 24) & 0xff), \
2706
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1476 4)
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1477 #define aimutil_getle32(buf) ( \
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1478 (((*((buf)+0)) << 0) & 0x000000ff) + \
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1479 (((*((buf)+1)) << 8) & 0x0000ff00) + \
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1480 (((*((buf)+2)) << 16) & 0x00ff0000) + \
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1481 (((*((buf)+3)) << 24) & 0xff000000))
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1482
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2704
diff changeset
1483
5927
f83c9f4afb60 [gaim-migrate @ 6367]
Ryan McCabe
parents: 5917
diff changeset
1484 faim_export int aimutil_putstr(char *, const char *, int);
4617
35d860860593 [gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents: 4342
diff changeset
1485 faim_export fu16_t aimutil_iconsum(const fu8_t *buf, int buflen);
6323
70c997ce574d [gaim-migrate @ 6822]
Zach Rusin
parents: 6322
diff changeset
1486 faim_export int aimutil_tokslen(char *toSearch, int theindex, char dl);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1487 faim_export int aimutil_itemcnt(char *toSearch, char dl);
6323
70c997ce574d [gaim-migrate @ 6822]
Zach Rusin
parents: 6322
diff changeset
1488 faim_export char *aimutil_itemindex(char *toSearch, int theindex, char dl);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1489
8092
ba92ce841814 [gaim-migrate @ 8791]
Mark Doliner <markdoliner@pidgin.im>
parents: 7945
diff changeset
1490 faim_export int aim_snvalid(const char *sn);
9975
ea6d503b89cb [gaim-migrate @ 10886]
Mark Doliner <markdoliner@pidgin.im>
parents: 9933
diff changeset
1491 faim_export int aim_sn_is_icq(const char *sn);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1492 faim_export int aim_snlen(const char *sn);
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1493 faim_export int aim_sncmp(const char *sn1, const char *sn2);
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1494
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1495 #include <aim_internal.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1496
6322
35fdae8a156f [gaim-migrate @ 6821]
Mark Doliner <markdoliner@pidgin.im>
parents: 6318
diff changeset
1497 #ifdef __cplusplus
35fdae8a156f [gaim-migrate @ 6821]
Mark Doliner <markdoliner@pidgin.im>
parents: 6318
diff changeset
1498 }
35fdae8a156f [gaim-migrate @ 6821]
Mark Doliner <markdoliner@pidgin.im>
parents: 6318
diff changeset
1499 #endif
35fdae8a156f [gaim-migrate @ 6821]
Mark Doliner <markdoliner@pidgin.im>
parents: 6318
diff changeset
1500
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1501 #endif /* __AIM_H__ */

mercurial