1 |
/* |
/* |
2 |
rdesktop: A Remote Desktop Protocol client. |
rdesktop: A Remote Desktop Protocol client. |
3 |
Protocol services - RDP layer |
Protocol services - RDP layer |
4 |
Copyright (C) Matthew Chapman 1999-2001 |
Copyright (C) Matthew Chapman 1999-2002 |
5 |
|
|
6 |
This program is free software; you can redistribute it and/or modify |
This program is free software; you can redistribute it and/or modify |
7 |
it under the terms of the GNU General Public License as published by |
it under the terms of the GNU General Public License as published by |
196 |
|
|
197 |
/* Send a synchronisation PDU */ |
/* Send a synchronisation PDU */ |
198 |
static void |
static void |
199 |
rdp_send_synchronise() |
rdp_send_synchronise(void) |
200 |
{ |
{ |
201 |
STREAM s; |
STREAM s; |
202 |
|
|
434 |
|
|
435 |
/* Send a confirm active PDU */ |
/* Send a confirm active PDU */ |
436 |
static void |
static void |
437 |
rdp_send_confirm_active() |
rdp_send_confirm_active(void) |
438 |
{ |
{ |
439 |
STREAM s; |
STREAM s; |
440 |
uint16 caplen = |
uint16 caplen = |
601 |
static void |
static void |
602 |
process_palette(STREAM s) |
process_palette(STREAM s) |
603 |
{ |
{ |
604 |
HCOLOURMAP hmap; |
COLOURENTRY *entry; |
605 |
COLOURMAP map; |
COLOURMAP map; |
606 |
uint8 *colours; |
HCOLOURMAP hmap; |
607 |
|
int i; |
608 |
|
|
609 |
in_uint8s(s, 2); /* pad */ |
in_uint8s(s, 2); /* pad */ |
610 |
in_uint16_le(s, map.ncolours); |
in_uint16_le(s, map.ncolours); |
611 |
in_uint8s(s, 2); /* pad */ |
in_uint8s(s, 2); /* pad */ |
612 |
in_uint8p(s, colours, (map.ncolours * 3)); |
|
613 |
map.colours = (COLOURENTRY *) colours; |
map.colours = xmalloc(3 * map.ncolours); |
614 |
|
|
615 |
|
for (i = 0; i < map.ncolours; i++) |
616 |
|
{ |
617 |
|
entry = &map.colours[i]; |
618 |
|
in_uint8(s, entry->red); |
619 |
|
in_uint8(s, entry->green); |
620 |
|
in_uint8(s, entry->blue); |
621 |
|
} |
622 |
|
|
623 |
hmap = ui_create_colourmap(&map); |
hmap = ui_create_colourmap(&map); |
624 |
ui_set_colourmap(hmap); |
ui_set_colourmap(hmap); |
625 |
|
|
626 |
|
xfree(map.colours); |
627 |
} |
} |
628 |
|
|
629 |
/* Process an update PDU */ |
/* Process an update PDU */ |
692 |
|
|
693 |
/* Process incoming packets */ |
/* Process incoming packets */ |
694 |
void |
void |
695 |
rdp_main_loop() |
rdp_main_loop(void) |
696 |
{ |
{ |
697 |
uint8 type; |
uint8 type; |
698 |
STREAM s; |
STREAM s; |
732 |
|
|
733 |
/* Disconnect from the RDP layer */ |
/* Disconnect from the RDP layer */ |
734 |
void |
void |
735 |
rdp_disconnect() |
rdp_disconnect(void) |
736 |
{ |
{ |
737 |
sec_disconnect(); |
sec_disconnect(); |
738 |
} |
} |