X-Git-Url: https://git.sesse.net/?p=rdpsrv;a=blobdiff_plain;f=rdpsrv.c;h=f417616724d502081eda6352e82c2721159dc318;hp=dda4a173ad0856c0e27bc2e4482a06fdc8540b20;hb=e0d6c6eb80e1c3ce8c95954002bb3c6642681758;hpb=f7c77f1d801d69794ea81a97060f260a0af51e51 diff --git a/rdpsrv.c b/rdpsrv.c index dda4a17..f417616 100644 --- a/rdpsrv.c +++ b/rdpsrv.c @@ -66,11 +66,28 @@ int serve_client() mcs_send_connect_response(); for ( ;; ) { - uint8 type; + uint8 type, data_pdu_type; STREAM s; while ((s = rdp_recv(&type)) != NULL) { - printf("RDP packet! type %u\n", type); + if (type != RDP_PDU_DATA) { + printf("Unknown RDP packet of type %u\n", type); + continue; + } + + in_uint8s(s, 8); /* shareid, pad, streamid, length */ + in_uint8(s, data_pdu_type); + in_uint8s(s, 3); /* compress_type, compress_len */ + + switch (data_pdu_type) { + case RDP_DATA_PDU_INPUT: + printf("Input PDU\n"); + break; + default: + printf("Unknown data PDU type %u\n", data_pdu_type); + }; + +// rdp_send_bitmap_update(); } } }