@@ -431,13 +431,20 @@ typedef struct {
431
431
/* Modif cs@2005 */
432
432
/* PalmVNC 1.4 & 2.0 SetScale Factor message */
433
433
#define rfbPalmVNCSetScaleFactor 0xF
434
+ #define rfbEnableContinuousUpdates 150
435
+ #define rfbEndOfContinuousUpdates 150
434
436
/* Xvp message - bidirectional */
435
437
#define rfbXvp 250
436
438
/* SetDesktopSize client -> server message */
437
439
#define rfbSetDesktopSize 251
438
440
#define rfbQemuEvent 255
439
441
440
442
443
+ /*-----------------------------------------------------------------------------
444
+ * server -> client and client -> server
445
+ */
446
+
447
+ #define rfbFence 248
441
448
442
449
443
450
/*****************************************************************************
@@ -528,6 +535,9 @@ typedef struct {
528
535
#define rfbEncodingQualityLevel8 0xFFFFFFE8
529
536
#define rfbEncodingQualityLevel9 0xFFFFFFE9
530
537
538
+ #define rfbEncodingContinuousUpdates 0xFFFFFEC7
539
+ #define rfbEncodingFence 0xFFFFFEC8
540
+
531
541
#define rfbEncodingQemuExtendedKeyEvent 0xFFFFFEFE /* -258 */
532
542
#define rfbEncodingExtendedClipboard 0xC0A1E5CE
533
543
@@ -538,6 +548,37 @@ typedef struct {
538
548
#define rfbEncodingServerIdentity 0xFFFE0003
539
549
540
550
551
+ /*****************************************************************************
552
+ *
553
+ * Message definitions (server -> client and client -> server)
554
+ *
555
+ *****************************************************************************/
556
+
557
+ /*-----------------------------------------------------------------------------
558
+ * Fence
559
+ */
560
+
561
+ /* flags */
562
+ #define rfbFenceFlagBlockBefore 1
563
+ #define rfbFenceFlagBlockAfter 2
564
+ #define rfbFenceFlagSyncNext 4
565
+ #define rfbFenceFlagRequest 0x80000000
566
+ #define rfbFenceFlagsSupported (rfbFenceFlagBlockBefore | \
567
+ rfbFenceFlagBlockAfter | \
568
+ rfbFenceFlagSyncNext | \
569
+ rfbFenceFlagRequest)
570
+
571
+ typedef struct _rfbFenceMsg {
572
+ uint8_t type ; /* always rfbFence */
573
+ uint8_t pad [3 ];
574
+ uint32_t flags ;
575
+ uint8_t length ;
576
+ /* Followed by char data[length] */
577
+ } rfbFenceMsg ;
578
+
579
+ #define sz_rfbFenceMsg 9
580
+
581
+
541
582
/*****************************************************************************
542
583
*
543
584
* Server -> client message definitions
@@ -1267,6 +1308,7 @@ typedef union {
1267
1308
rfbTextChatMsg tc ;
1268
1309
rfbXvpMsg xvp ;
1269
1310
rfbExtDesktopSizeMsg eds ;
1311
+ rfbFenceMsg f ;
1270
1312
} rfbServerToClientMsg ;
1271
1313
1272
1314
@@ -1523,6 +1565,22 @@ typedef struct _rfbSetSWMsg {
1523
1565
#define sz_rfbSetSWMsg 6
1524
1566
1525
1567
1568
+ /*-----------------------------------------------------------------------------
1569
+ * EnableContinuousUpdates
1570
+ */
1571
+
1572
+ typedef struct _rfbEnableContinuousUpdatesMsg {
1573
+ uint8_t type ; /* always rfbEnableContinuousUpdates */
1574
+ uint8_t enable ;
1575
+ uint16_t x ;
1576
+ uint16_t y ;
1577
+ uint16_t w ;
1578
+ uint16_t h ;
1579
+ } rfbEnableContinuousUpdatesMsg ;
1580
+
1581
+ #define sz_rfbEnableContinuousUpdatesMsg 10
1582
+
1583
+
1526
1584
1527
1585
/*-----------------------------------------------------------------------------
1528
1586
* Union of all client->server messages.
@@ -1545,6 +1603,8 @@ typedef union {
1545
1603
rfbTextChatMsg tc ;
1546
1604
rfbXvpMsg xvp ;
1547
1605
rfbSetDesktopSizeMsg sdm ;
1606
+ rfbEnableContinuousUpdatesMsg ecu ;
1607
+ rfbFenceMsg f ;
1548
1608
} rfbClientToServerMsg ;
1549
1609
1550
1610
/*
0 commit comments