]> git.proxmox.com Git - mirror_novnc.git/blob - docs/rfb_notes
Version 0.1, debian packaging, license text.
[mirror_novnc.git] / docs / rfb_notes
1 5.1.1 ProtocolVersion: 12, 12 bytes
2
3 - Sent by server, max supported
4 12 ascii - "RFB 003.008\n"
5 - Response by client, version to use
6 12 ascii - "RFB 003.003\n"
7
8 5.1.2 Authentication: >=4, [16, 4] bytes
9
10 - Sent by server
11 CARD32 - authentication-scheme
12 0 - connection failed
13 CARD32 - length
14 length - reason
15 1 - no authentication
16
17 2 - VNC authentication
18 16 CARD8 - challenge (random bytes)
19
20 - Response by client (if VNC authentication)
21 16 CARD8 - client encrypts the challenge with DES, using user
22 password as key, sends resulting 16 byte response
23
24 - Response by server (if VNC authentication)
25 CARD32 - 0 - OK
26 1 - failed
27 2 - too-many
28
29 5.1.3 ClientInitialisation: 1 byte
30 - Sent by client
31 CARD8 - shared-flag, 0 exclusive, non-zero shared
32
33 5.1.4 ServerInitialisation: >=24 bytes
34 - Sent by server
35 CARD16 - framebuffer-width
36 CARD16 - framebuffer-height
37 16 byte PIXEL_FORMAT - server-pixel-format
38 CARD8 - bits-per-pixel
39 CARD8 - depth
40 CARD8 - big-endian-flag, non-zero is big endian
41 CARD8 - true-color-flag, non-zero then next 6 apply
42 CARD16 - red-max
43 CARD16 - green-max
44 CARD16 - blue-max
45 CARD8 - red-shift
46 CARD8 - green-shift
47 CARD8 - blue-shift
48 3 bytes - padding
49 CARD32 - name-length
50
51 CARD8[length] - name-string
52
53
54
55 Client to Server Messages:
56
57 5.2.1 SetPixelFormat: 20 bytes
58 CARD8: 0 - message-type
59 ...
60
61 5.2.2 FixColourMapEntries: >=6 bytes
62 CARD8: 1 - message-type
63 ...
64
65 5.2.3 SetEncodings: >=8 bytes
66 CARD8: 2 - message-type
67 CARD8 - padding
68 CARD16 - numer-of-encodings
69
70 CARD32 - encoding-type in preference order
71 0 - raw
72 1 - copy-rectangle
73 2 - RRE
74 4 - CoRRE
75 5 - hextile
76
77 5.2.4 FramebufferUpdateRequest (10 bytes)
78 CARD8: 3 - message-type
79 CARD8 - incremental (0 for full-update, non-zero for incremental)
80 CARD16 - x-position
81 CARD16 - y-position
82 CARD16 - width
83 CARD16 - height
84
85
86 5.2.5 KeyEvent: 8 bytes
87 CARD8: 4 - message-type
88 CARD8 - down-flag
89 2 bytes - padding
90 CARD32 - key (X-Windows keysym values)
91
92 5.2.6 PointerEvent: 6 bytes
93 CARD8: 5 - message-type
94 CARD8 - button-mask
95 CARD16 - x-position
96 CARD16 - y-position
97
98 5.2.7 ClientCutText: >=9 bytes
99 CARD8: 6 - message-type
100 ...
101
102
103 Server to Client Messages:
104
105 5.3.1 FramebufferUpdate
106 CARD8: 0 - message-type
107 1 byte - padding
108 CARD16 - number-of-rectangles
109
110 CARD16 - x-position
111 CARD16 - y-position
112 CARD16 - width
113 CARD16 - height
114 CARD16 - encoding-type:
115 0 - raw
116 1 - copy rectangle
117 2 - RRE
118 4 - CoRRE
119 5 - hextile
120
121 raw:
122 - width x height pixel values
123
124 copy rectangle:
125 CARD16 - src-x-position
126 CARD16 - src-y-position
127
128 RRE:
129 CARD32 - N number-of-subrectangles
130 Nxd bytes - background-pixel-value (d bits-per-pixel)
131
132 ...
133
134 5.3.2 SetColourMapEntries (no support)
135 CARD8: 1 - message-type
136 ...
137
138 5.3.3 Bell
139 CARD8: 2 - message-type
140
141 5.3.4 ServerCutText
142 CARD8: 3 - message-type
143
144
145
146
147