101
* Bleck functions get called when there's no non-bleck functions
102
* around to cleanup the mess...
104
static int bleck(OscarData *od, FlapFrame *frame, ...)
106
guint16 family, subtype;
109
static const char *channels[6] = {
117
static const int maxchannels = 5;
119
/* XXX: this is ugly. and big just for debugging. */
120
static const char *literals[14][25] = {
131
"Rate Information Request",
133
"Rate Information Ack",
135
"Rate Information Change",
139
"Request Personal User Information",
140
"Personal User Information",
144
"Message of the Day",
153
"Rights Information",
154
"Set user information",
155
"Request User Information",
157
"Watcher Sub Request",
158
"Watcher Notification"
160
{"Buddy List Management",
164
"Rights Information",
167
"Watcher List Query",
168
"Watcher List Response",
169
"Watcher SubRequest",
170
"Watcher Notification",
171
"Reject Notification",
178
"Add ICBM Parameter",
179
"Remove ICBM Parameter",
180
"Request Parameter Information",
181
"Parameter Information",
196
{"Invitation / Client-to-Client",
205
"Information Request",
207
"Information Change Request",
208
"Information Chat Reply",
209
"Account Confirm Request",
210
"Account Confirm Reply",
211
"Account Delete Request",
212
"Account Delete Reply"
224
"Set group permission mask",
225
"Add permission list entries",
226
"Delete permission list entries",
227
"Add deny list entries",
228
"Delete deny list entries",
240
"Set minimum report interval",
253
"Request Exchange Information",
254
"Request Room Information",
255
"Request Occupant List",
265
maxf = sizeof(literals) / sizeof(literals[0]);
266
maxs = sizeof(literals[0]) / sizeof(literals[0][0]);
268
if (frame->channel == 0x02) {
270
family = byte_stream_get16(&frame->data);
271
subtype = byte_stream_get16(&frame->data);
273
if ((family < maxf) && (subtype+1 < maxs) && (literals[family][subtype] != NULL))
274
purple_debug_misc("oscar", "bleck: channel %s: null handler for %04x/%04x (%s)\n", channels[frame->channel], family, subtype, literals[family][subtype+1]);
276
purple_debug_misc("oscar", "bleck: channel %s: null handler for %04x/%04x (no literal)\n", channels[frame->channel], family, subtype);
279
if (frame->channel <= maxchannels)
280
purple_debug_misc("oscar", "bleck: channel %s (0x%02x)\n", channels[frame->channel], frame->channel);
282
purple_debug_misc("oscar", "bleck: unknown channel 0x%02x\n", frame->channel);