Commit e06679fb767144a9ba5bec496acfdae24508b8ed

Authored by aliguori
1 parent a5e50b26

Split VNC defines to vnc.h (Alexander Graf)

The VNC protocol contains quite some constants, some of which are
currently hardcoded in the vnc.c code. This is not exactly pretty.

Let's move all those constants out to vnc.h, so they are clearly
separated. While at it, I also included other defines that will be
used later in this patch series.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6493 c046a42c-6fe2-441c-8c8c-71466251a162
pc-bios/bios-pq/series
@@ -8,3 +8,4 @@ @@ -8,3 +8,4 @@
8 0008_kvm-bios-switch-mtrrs-to-cover-only-the-pci-range-and--default-to-wb.patch 8 0008_kvm-bios-switch-mtrrs-to-cover-only-the-pci-range-and--default-to-wb.patch
9 0009_kvm-bios-resolve-memory-device-roll-over-reporting--issues-with-32g-guests.patch 9 0009_kvm-bios-resolve-memory-device-roll-over-reporting--issues-with-32g-guests.patch
10 0010_kvm-bios-fix-smbios-memory-device-length-boundary--condition.patch 10 0010_kvm-bios-fix-smbios-memory-device-length-boundary--condition.patch
  11 +enable-serial-output.patch
@@ -32,6 +32,7 @@ @@ -32,6 +32,7 @@
32 32
33 #define VNC_REFRESH_INTERVAL (1000 / 30) 33 #define VNC_REFRESH_INTERVAL (1000 / 30)
34 34
  35 +#include "vnc.h"
35 #include "vnc_keysym.h" 36 #include "vnc_keysym.h"
36 #include "keymaps.c" 37 #include "keymaps.c"
37 #include "d3des.h" 38 #include "d3des.h"
@@ -88,41 +89,6 @@ typedef void VncSendHextileTile(VncState *vs, @@ -88,41 +89,6 @@ typedef void VncSendHextileTile(VncState *vs,
88 89
89 #define VNC_AUTH_CHALLENGE_SIZE 16 90 #define VNC_AUTH_CHALLENGE_SIZE 16
90 91
91 -enum {  
92 - VNC_AUTH_INVALID = 0,  
93 - VNC_AUTH_NONE = 1,  
94 - VNC_AUTH_VNC = 2,  
95 - VNC_AUTH_RA2 = 5,  
96 - VNC_AUTH_RA2NE = 6,  
97 - VNC_AUTH_TIGHT = 16,  
98 - VNC_AUTH_ULTRA = 17,  
99 - VNC_AUTH_TLS = 18,  
100 - VNC_AUTH_VENCRYPT = 19  
101 -};  
102 -  
103 -#ifdef CONFIG_VNC_TLS  
104 -enum {  
105 - VNC_WIREMODE_CLEAR,  
106 - VNC_WIREMODE_TLS,  
107 -};  
108 -  
109 -enum {  
110 - VNC_AUTH_VENCRYPT_PLAIN = 256,  
111 - VNC_AUTH_VENCRYPT_TLSNONE = 257,  
112 - VNC_AUTH_VENCRYPT_TLSVNC = 258,  
113 - VNC_AUTH_VENCRYPT_TLSPLAIN = 259,  
114 - VNC_AUTH_VENCRYPT_X509NONE = 260,  
115 - VNC_AUTH_VENCRYPT_X509VNC = 261,  
116 - VNC_AUTH_VENCRYPT_X509PLAIN = 262,  
117 -};  
118 -  
119 -#define X509_CA_CERT_FILE "ca-cert.pem"  
120 -#define X509_CA_CRL_FILE "ca-crl.pem"  
121 -#define X509_SERVER_KEY_FILE "server-key.pem"  
122 -#define X509_SERVER_CERT_FILE "server-cert.pem"  
123 -  
124 -#endif /* CONFIG_VNC_TLS */  
125 -  
126 struct VncState 92 struct VncState
127 { 93 {
128 QEMUTimer *timer; 94 QEMUTimer *timer;
vnc.h 0 → 100644
  1 +#ifndef __VNCTIGHT_H
  2 +#define __VNCTIGHT_H
  3 +
  4 +/*****************************************************************************
  5 + *
  6 + * Authentication modes
  7 + *
  8 + *****************************************************************************/
  9 +
  10 +enum {
  11 + VNC_AUTH_INVALID = 0,
  12 + VNC_AUTH_NONE = 1,
  13 + VNC_AUTH_VNC = 2,
  14 + VNC_AUTH_RA2 = 5,
  15 + VNC_AUTH_RA2NE = 6,
  16 + VNC_AUTH_TIGHT = 16,
  17 + VNC_AUTH_ULTRA = 17,
  18 + VNC_AUTH_TLS = 18,
  19 + VNC_AUTH_VENCRYPT = 19
  20 +};
  21 +
  22 +#ifdef CONFIG_VNC_TLS
  23 +enum {
  24 + VNC_WIREMODE_CLEAR,
  25 + VNC_WIREMODE_TLS,
  26 +};
  27 +
  28 +enum {
  29 + VNC_AUTH_VENCRYPT_PLAIN = 256,
  30 + VNC_AUTH_VENCRYPT_TLSNONE = 257,
  31 + VNC_AUTH_VENCRYPT_TLSVNC = 258,
  32 + VNC_AUTH_VENCRYPT_TLSPLAIN = 259,
  33 + VNC_AUTH_VENCRYPT_X509NONE = 260,
  34 + VNC_AUTH_VENCRYPT_X509VNC = 261,
  35 + VNC_AUTH_VENCRYPT_X509PLAIN = 262,
  36 +};
  37 +
  38 +#define X509_CA_CERT_FILE "ca-cert.pem"
  39 +#define X509_CA_CRL_FILE "ca-crl.pem"
  40 +#define X509_SERVER_KEY_FILE "server-key.pem"
  41 +#define X509_SERVER_CERT_FILE "server-cert.pem"
  42 +
  43 +#endif /* CONFIG_VNC_TLS */
  44 +
  45 +/*****************************************************************************
  46 + *
  47 + * Encoding types
  48 + *
  49 + *****************************************************************************/
  50 +
  51 +#define VNC_ENCODING_RAW 0x00000000
  52 +#define VNC_ENCODING_COPYRECT 0x00000001
  53 +#define VNC_ENCODING_RRE 0x00000002
  54 +#define VNC_ENCODING_CORRE 0x00000004
  55 +#define VNC_ENCODING_HEXTILE 0x00000005
  56 +#define VNC_ENCODING_ZLIB 0x00000006
  57 +#define VNC_ENCODING_TIGHT 0x00000007
  58 +#define VNC_ENCODING_ZLIBHEX 0x00000008
  59 +#define VNC_ENCODING_TRLE 0x0000000f
  60 +#define VNC_ENCODING_ZRLE 0x00000010
  61 +#define VNC_ENCODING_ZYWRLE 0x00000011
  62 +#define VNC_ENCODING_COMPRESSLEVEL0 0xFFFFFF00 /* -256 */
  63 +#define VNC_ENCODING_QUALITYLEVEL0 0xFFFFFFE0 /* -32 */
  64 +#define VNC_ENCODING_XCURSOR 0xFFFFFF10 /* -240 */
  65 +#define VNC_ENCODING_RICH_CURSOR 0xFFFFFF11 /* -239 */
  66 +#define VNC_ENCODING_POINTER_POS 0xFFFFFF18 /* -232 */
  67 +#define VNC_ENCODING_LASTRECT 0xFFFFFF20 /* -224 */
  68 +#define VNC_ENCODING_DESKTOPRESIZE 0xFFFFFF21 /* -223 */
  69 +#define VNC_ENCODING_POINTER_TYPE_CHANGE 0XFFFFFEFF /* -257 */
  70 +#define VNC_ENCODING_EXT_KEY_EVENT 0XFFFFFEFE /* -258 */
  71 +#define VNC_ENCODING_AUDIO 0XFFFFFEFD /* -259 */
  72 +#define VNC_ENCODING_WMVi 0x574D5669
  73 +
  74 +/*****************************************************************************
  75 + *
  76 + * Other tight constants
  77 + *
  78 + *****************************************************************************/
  79 +
  80 +/*
  81 + * Vendors known by TightVNC: standard VNC/RealVNC, TridiaVNC, and TightVNC.
  82 + */
  83 +
  84 +#define VNC_TIGHT_CCB_RESET_MASK (0x0f)
  85 +#define VNC_TIGHT_CCB_TYPE_MASK (0x0f << 4)
  86 +#define VNC_TIGHT_CCB_TYPE_FILL (0x08 << 4)
  87 +#define VNC_TIGHT_CCB_TYPE_JPEG (0x09 << 4)
  88 +#define VNC_TIGHT_CCB_BASIC_MAX (0x07 << 4)
  89 +#define VNC_TIGHT_CCB_BASIC_ZLIB (0x03 << 4)
  90 +#define VNC_TIGHT_CCB_BASIC_FILTER (0x04 << 4)
  91 +
  92 +/*****************************************************************************
  93 + *
  94 + * Features
  95 + *
  96 + *****************************************************************************/
  97 +
  98 +#define VNC_FEATURE_RESIZE 0
  99 +#define VNC_FEATURE_HEXTILE 1
  100 +#define VNC_FEATURE_POINTER_TYPE_CHANGE 2
  101 +#define VNC_FEATURE_WMVI 3
  102 +#define VNC_FEATURE_TIGHT 4
  103 +#define VNC_FEATURE_ZLIB 5
  104 +
  105 +#define VNC_FEATURE_RESIZE_MASK (1 << VNC_FEATURE_RESIZE)
  106 +#define VNC_FEATURE_HEXTILE_MASK (1 << VNC_FEATURE_HEXTILE)
  107 +#define VNC_FEATURE_POINTER_TYPE_CHANGE_MASK (1 << VNC_FEATURE_POINTER_TYPE_CHANGE)
  108 +#define VNC_FEATURE_WMVI_MASK (1 << VNC_FEATURE_WMVI)
  109 +#define VNC_FEATURE_TIGHT_MASK (1 << VNC_FEATURE_TIGHT)
  110 +#define VNC_FEATURE_ZLIB_MASK (1 << VNC_FEATURE_ZLIB)
  111 +
  112 +#endif /* __VNCTIGHT_H */