]> git.proxmox.com Git - qemu.git/blame - vnc.h
Don't leak VLANClientState on PCI hot remove
[qemu.git] / vnc.h
CommitLineData
e06679fb
AL
1#ifndef __VNCTIGHT_H
2#define __VNCTIGHT_H
3
4/*****************************************************************************
5 *
6 * Authentication modes
7 *
8 *****************************************************************************/
9
10enum {
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
23enum {
24 VNC_WIREMODE_CLEAR,
25 VNC_WIREMODE_TLS,
26};
27
28enum {
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
753b4053 104#define VNC_FEATURE_COPYRECT 6
e06679fb
AL
105
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)
753b4053 112#define VNC_FEATURE_COPYRECT_MASK (1 << VNC_FEATURE_COPYRECT)
e06679fb
AL
113
114#endif /* __VNCTIGHT_H */