]> git.proxmox.com Git - qemu.git/blobdiff - vnc.h
eepro100: Replace variable name to fix a compiler warning
[qemu.git] / vnc.h
diff --git a/vnc.h b/vnc.h
index 59a1b4ab9d3a80d0f93e33c6fd9e93e0f6bab1f5..ff9a6993ad77f34caf50c47c09b9bc0290d14b04 100644 (file)
--- a/vnc.h
+++ b/vnc.h
@@ -28,6 +28,7 @@
 #define __QEMU_VNC_H
 
 #include "qemu-common.h"
+#include "qemu-queue.h"
 #include "console.h"
 #include "monitor.h"
 #include "audio/audio.h"
@@ -68,7 +69,7 @@ typedef void VncSendHextileTile(VncState *vs,
                                 void *last_fg,
                                 int *has_bg, int *has_fg);
 
-#define VNC_MAX_WIDTH 2048
+#define VNC_MAX_WIDTH 2560
 #define VNC_MAX_HEIGHT 2048
 #define VNC_DIRTY_WORDS (VNC_MAX_WIDTH / (16 * 32))
 
@@ -84,14 +85,24 @@ typedef struct VncDisplay VncDisplay;
 #include "vnc-auth-sasl.h"
 #endif
 
+struct VncSurface
+{
+    uint32_t dirty[VNC_MAX_HEIGHT][VNC_DIRTY_WORDS];
+    DisplaySurface *ds;
+};
 
 struct VncDisplay
 {
+    QTAILQ_HEAD(, VncState) clients;
+    QEMUTimer *timer;
+    int timer_interval;
     int lsock;
     DisplayState *ds;
-    VncState *clients;
     kbd_layout_t *kbd_layout;
 
+    struct VncSurface guest;   /* guest visible surface (aka ds->surface) */
+    DisplaySurface *server;  /* vnc server surface */
+
     char *display;
     char *password;
     int auth;
@@ -99,17 +110,21 @@ struct VncDisplay
     int subauth; /* Used by VeNCrypt */
     VncDisplayTLS tls;
 #endif
+#ifdef CONFIG_VNC_SASL
+    VncDisplaySASL sasl;
+#endif
 };
 
 struct VncState
 {
-    QEMUTimer *timer;
     int csock;
+
     DisplayState *ds;
+    uint32_t dirty[VNC_MAX_HEIGHT][VNC_DIRTY_WORDS];
+
     VncDisplay *vd;
     int need_update;
-    uint32_t dirty_row[VNC_MAX_HEIGHT][VNC_DIRTY_WORDS];
-    char *old_data;
+    int force_update;
     uint32_t features;
     int absolute;
     int last_x;
@@ -130,12 +145,14 @@ struct VncState
     VncStateSASL sasl;
 #endif
 
+    QObject *info;
+
     Buffer output;
     Buffer input;
     /* current output mode information */
     VncWritePixels *write_pixels;
     VncSendHextileTile *send_hextile_tile;
-    DisplaySurface clientds, serverds;
+    DisplaySurface clientds;
 
     CaptureVoiceOut *audio_cap;
     struct audsettings as;
@@ -149,7 +166,7 @@ struct VncState
     Buffer zlib_tmp;
     z_stream zlib_stream[4];
 
-    VncState *next;
+    QTAILQ_ENTRY(VncState) next;
 };