154 |
int length; |
int length; |
155 |
STREAM s; |
STREAM s; |
156 |
|
|
157 |
s = iso_recv(); |
s = iso_recv(NULL); |
158 |
if (s == NULL) |
if (s == NULL) |
159 |
return False; |
return False; |
160 |
|
|
227 |
uint8 opcode, result; |
uint8 opcode, result; |
228 |
STREAM s; |
STREAM s; |
229 |
|
|
230 |
s = iso_recv(); |
s = iso_recv(NULL); |
231 |
if (s == NULL) |
if (s == NULL) |
232 |
return False; |
return False; |
233 |
|
|
276 |
uint8 opcode, result; |
uint8 opcode, result; |
277 |
STREAM s; |
STREAM s; |
278 |
|
|
279 |
s = iso_recv(); |
s = iso_recv(NULL); |
280 |
if (s == NULL) |
if (s == NULL) |
281 |
return False; |
return False; |
282 |
|
|
341 |
|
|
342 |
/* Receive an MCS transport data packet */ |
/* Receive an MCS transport data packet */ |
343 |
STREAM |
STREAM |
344 |
mcs_recv(uint16 * channel) |
mcs_recv(uint16 * channel, uint8 * rdpver) |
345 |
{ |
{ |
346 |
uint8 opcode, appid, length; |
uint8 opcode, appid, length; |
347 |
STREAM s; |
STREAM s; |
348 |
|
|
349 |
s = iso_recv(); |
s = iso_recv(rdpver); |
350 |
if (s == NULL) |
if (s == NULL) |
351 |
return NULL; |
return NULL; |
352 |
|
if (rdpver != NULL) |
353 |
|
if (*rdpver != 3) |
354 |
|
return s; |
355 |
in_uint8(s, opcode); |
in_uint8(s, opcode); |
356 |
appid = opcode >> 2; |
appid = opcode >> 2; |
357 |
if (appid != MCS_SDIN) |
if (appid != MCS_SDIN) |
362 |
} |
} |
363 |
return NULL; |
return NULL; |
364 |
} |
} |
|
|
|
365 |
in_uint8s(s, 2); /* userid */ |
in_uint8s(s, 2); /* userid */ |
366 |
in_uint16_be(s, *channel); |
in_uint16_be(s, *channel); |
367 |
in_uint8s(s, 1); /* flags */ |
in_uint8s(s, 1); /* flags */ |
368 |
in_uint8(s, length); |
in_uint8(s, length); |
369 |
if (length & 0x80) |
if (length & 0x80) |
370 |
in_uint8s(s, 1); /* second byte of length */ |
in_uint8s(s, 1); /* second byte of length */ |
|
|
|
371 |
return s; |
return s; |
372 |
} |
} |
373 |
|
|