X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=rdpsrv.c;h=e001cd24cd6e99672738ee2248a3ccf3ab544e2e;hb=279bf2004603e87c531ac696ee7f88f9d4b8a754;hp=138cff249551ce3f85b2a1ec54f7e13f51e47fe6;hpb=b6ea72f2e99bc93a105c5120573762c162985160;p=rdpsrv diff --git a/rdpsrv.c b/rdpsrv.c index 138cff2..e001cd2 100644 --- a/rdpsrv.c +++ b/rdpsrv.c @@ -66,12 +66,26 @@ int serve_client() mcs_send_connect_response(); for ( ;; ) { - short channel; + uint8 type, data_pdu_type; STREAM s; - - /* receive ISO packets */ - s = mcs_recv(&channel); - if (s != NULL) - printf("Packet on ch %u\n", channel); + + while ((s = rdp_recv(&type)) != NULL) { + 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); + }; + } } }