Statistics
| Branch: | Tag: | Revision:

one / src / sunstone / public / vendor / noVNC / docs / rfb_notes @ 5fcb9de8

History | View | Annotate | Download (3.39 KB)

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