]> git.sesse.net Git - rdpsrv/blobdiff - rdpsrv.c
Add function for sending bitmap updates (not working yet :-/)
[rdpsrv] / rdpsrv.c
index bb5b1db4727dae82a7484d714216d1cffcff0146..f417616724d502081eda6352e82c2721159dc318 100644 (file)
--- a/rdpsrv.c
+++ b/rdpsrv.c
@@ -61,15 +61,33 @@ int create_server_socket()
 
 int serve_client()
 {
-       mcs_recv_connect_initial();
+       if (!mcs_recv_connect_initial())
+               error("MCS_CONNECT_INITIAL recv failed");
        mcs_send_connect_response();
        
        for ( ;; ) {
-               short channel;
-               
-               /* receive ISO packets */
-               mcs_recv(&channel);
+               uint8 type, data_pdu_type;
+               STREAM s;
 
-               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);
+                       };
+
+//                     rdp_send_bitmap_update();
+               }
        }
 }