fix raw_aio_remove (Stefano Stabellini)
[qemu] / vnc.h
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 #define VNC_FEATURE_COPYRECT                 6
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)
112 #define VNC_FEATURE_COPYRECT_MASK            (1 << VNC_FEATURE_COPYRECT)
113
114 #endif /* __VNCTIGHT_H */