X-Git-Url: https://git.sesse.net/?p=rdpsrv;a=blobdiff_plain;f=rdp.c;h=cd2f7c9d9b8e9a313798ebe3f23d05b12a23c711;hp=f7fac2dd83a858d77f24dbe00df1721e14749fb5;hb=b6e6afccf37f4ad0515ef2a698f714fdf1bf23b3;hpb=5d9e4292e05cb5d0ee743962391cabad0d788b6a diff --git a/rdp.c b/rdp.c index f7fac2d..cd2f7c9 100644 --- a/rdp.c +++ b/rdp.c @@ -148,16 +148,9 @@ rdp_in_unistr(STREAM s, char *string, int len) s->p += len; } -void rdp_send_bitmap_update(void) +void rdp_send_bitmap_update(unsigned x, unsigned y) { STREAM s; - static unsigned int x = 1, y = 1; - - x += 2; - if (x > 300) { - x = 2; - y += 2; - } s = rdp_init_data(11*2 + 2*2*3); out_uint16_le(s, RDP_UPDATE_BITMAP); @@ -260,25 +253,15 @@ rdp_send_synchronise(void) rdp_send_data(s, RDP_DATA_PDU_SYNCHRONISE); } -/* Send a single input event */ +/* Receive a single input event */ void -rdp_send_input(uint32 time, uint16 message_type, uint16 device_flags, uint16 param1, uint16 param2) +rdp_recv_input(STREAM s, uint32 *time, uint16 *message_type, uint16 *device_flags, uint16 *param1, uint16 *param2) { - STREAM s; - - s = rdp_init_data(16); - - out_uint16_le(s, 1); /* number of events */ - out_uint16(s, 0); /* pad */ - - out_uint32_le(s, time); - out_uint16_le(s, message_type); - out_uint16_le(s, device_flags); - out_uint16_le(s, param1); - out_uint16_le(s, param2); - - s_mark_end(s); - rdp_send_data(s, RDP_DATA_PDU_INPUT); + in_uint32_le(s, *time); + in_uint16_le(s, *message_type); + in_uint16_le(s, *device_flags); + in_uint16_le(s, *param1); + in_uint16_le(s, *param2); } /* Disconnect from the RDP layer */