draw: draw.c is now independent of framebuffer depth
[fbvnc.git] / vnc.h
blobcf792353d9dcacb48663fbbf2c922460a9e63197
1 #define VNC_CONN_FAILED 0
2 #define VNC_CONN_NOAUTH 1
3 #define VNC_CONN_AUTH 2
5 #define VNC_AUTH_OK 0
6 #define VNC_AUTH_FAILED 1
7 #define VNC_AUTH_TOOMANY 2
9 #define VNC_SERVER_FBUP 0
10 #define VNC_SERVER_COLORMAP 1
11 #define VNC_SERVER_BELL 2
12 #define VNC_SERVER_CUTTEXT 3
14 #define VNC_CLIENT_PIXFMT 0
15 #define VNC_CLIENT_COLORMAP 1
16 #define VNC_CLIENT_SETENC 2
17 #define VNC_CLIENT_FBUP 3
18 #define VNC_CLIENT_KEYEVENT 4
19 #define VNC_CLIENT_RATEVENT 5
20 #define VNC_CLIENT_CUTTEXT 6
22 #define VNC_ENC_RAW 0
23 #define VNC_ENC_COPYRECT 1
24 #define VNC_ENC_RRE 2
25 #define VNC_ENC_CORRE 4
26 #define VNC_ENC_HEXTILE 5
28 #define VNC_BUTTON1_MASK 0x1
29 #define VNC_BUTTON2_MASK 0x2
30 #define VNC_BUTTON3_MASK 0x4
32 typedef unsigned char u8;
33 typedef unsigned short u16;
34 typedef unsigned int u32;
36 struct vnc_pixelfmt {
37 u8 bpp;
38 u8 depth;
39 u8 bigendian;
40 u8 truecolor;
41 u16 rmax;
42 u16 gmax;
43 u16 bmax;
44 u8 rshl;
45 u8 gshl;
46 u8 bshl;
48 u8 pad1;
49 u16 pad2;
52 struct vnc_client_init {
53 u8 shared;
56 struct vnc_server_init {
57 u16 w;
58 u16 h;
59 struct vnc_pixelfmt fmt;
60 u32 len;
61 /* char name[len]; */
64 struct vnc_rect {
65 u16 x, y;
66 u16 w, h;
67 u32 enc;
68 /* rect bytes */
71 struct vnc_server_fbup {
72 u8 type;
73 u8 pad;
74 u16 n;
75 /* struct vnc_rect rects[n]; */
78 struct vnc_server_cuttext {
79 u8 type;
80 u8 pad1;
81 u16 pad2;
82 u32 len;
83 /* char text[length] */
86 struct vnc_server_colormap {
87 u8 type;
88 u8 pad;
89 u16 first;
90 u16 n;
91 /* u8 colors[n * 3 * 2]; */
94 struct vnc_client_pixelfmt {
95 u8 type;
96 u8 pad1;
97 u16 pad2;
98 struct vnc_pixelfmt format;
101 struct vnc_client_fbup {
102 u8 type;
103 u8 inc;
104 u16 x;
105 u16 y;
106 u16 w;
107 u16 h;
110 struct vnc_client_keyevent {
111 u8 type;
112 u8 down;
113 u16 pad;
114 u32 key;
117 struct vnc_client_ratevent {
118 u8 type;
119 u8 mask;
120 u16 x;
121 u16 y;