File:  [Qemu by Fabrice Bellard] / qemu / vnc.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 16:50:25 2018 UTC (3 years, 1 month ago) by root
Branches: qemu, MAIN
CVS tags: qemu0105, qemu0104, qemu0103, qemu0102, qemu0101, qemu0100, HEAD
qemu 0.10.0

    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 */

unix.superglobalmegacorp.com