Enhance 'info vnc' monitor output ("Daniel P. Berrange")
[qemu-kvm/fedora.git] / vnc.h
blob6981606c00a653312c6b494c17e28afcebc5a7c9
1 #ifndef __VNCTIGHT_H
2 #define __VNCTIGHT_H
4 /*****************************************************************************
6 * Authentication modes
8 *****************************************************************************/
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
22 #ifdef CONFIG_VNC_TLS
23 enum {
24 VNC_WIREMODE_CLEAR,
25 VNC_WIREMODE_TLS,
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,
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"
43 #endif /* CONFIG_VNC_TLS */
45 /*****************************************************************************
47 * Encoding types
49 *****************************************************************************/
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
74 /*****************************************************************************
76 * Other tight constants
78 *****************************************************************************/
81 * Vendors known by TightVNC: standard VNC/RealVNC, TridiaVNC, and TightVNC.
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)
92 /*****************************************************************************
94 * Features
96 *****************************************************************************/
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 #define VNC_FEATURE_COPYRECT 6
106 #define VNC_FEATURE_RESIZE_MASK (1 << VNC_FEATURE_RESIZE)
107 #define VNC_FEATURE_HEXTILE_MASK (1 << VNC_FEATURE_HEXTILE)
108 #define VNC_FEATURE_POINTER_TYPE_CHANGE_MASK (1 << VNC_FEATURE_POINTER_TYPE_CHANGE)
109 #define VNC_FEATURE_WMVI_MASK (1 << VNC_FEATURE_WMVI)
110 #define VNC_FEATURE_TIGHT_MASK (1 << VNC_FEATURE_TIGHT)
111 #define VNC_FEATURE_ZLIB_MASK (1 << VNC_FEATURE_ZLIB)
112 #define VNC_FEATURE_COPYRECT_MASK (1 << VNC_FEATURE_COPYRECT)
114 #endif /* __VNCTIGHT_H */