File: rfb_notes

package info (click to toggle)
novnc 1%3A1.6.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,124 kB
  • sloc: javascript: 22,768; sh: 312; makefile: 74; perl: 11; python: 11
file content (147 lines) | stat: -rw-r--r-- 3,473 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
5.1.1 ProtocolVersion: 12, 12 bytes

    - Sent by server, max supported
        12 ascii - "RFB 003.008\n"
    - Response by client, version to use
        12 ascii - "RFB 003.003\n"

5.1.2 Authentication: >=4, [16, 4] bytes

    - Sent by server
        CARD32 - authentication-scheme
                0 - connection failed
                    CARD32 - length
                    length - reason
                1 - no authentication

                2 - VNC authentication
                    16 CARD8 - challenge (random bytes)

    - Response by client (if VNC authentication)
        16 CARD8 - client encrypts the challenge with DES, using user
                   password as key, sends resulting 16 byte response

    - Response by server (if VNC authentication) 
        CARD32 - 0 - OK
                 1 - failed
                 2 - too-many

5.1.3 ClientInitialisation: 1 byte
    - Sent by client
        CARD8 - shared-flag, 0 exclusive, non-zero shared

5.1.4 ServerInitialisation: >=24 bytes
    - Sent by server
        CARD16 - framebuffer-width
        CARD16 - framebuffer-height
        16 byte PIXEL_FORMAT - server-pixel-format
            CARD8 - bits-per-pixel
            CARD8 - depth
            CARD8 - big-endian-flag, non-zero is big endian
            CARD8 - true-color-flag, non-zero then next 6 apply
            CARD16 - red-max
            CARD16 - green-max
            CARD16 - blue-max
            CARD8 - red-shift
            CARD8 - green-shift
            CARD8 - blue-shift
            3 bytes - padding
        CARD32 - name-length

        CARD8[length] - name-string



Client to Server Messages:

5.2.1 SetPixelFormat: 20 bytes
    CARD8: 0 - message-type
    ...

5.2.2 FixColourMapEntries: >=6 bytes
    CARD8: 1 - message-type
    ...

5.2.3 SetEncodings: >=8 bytes
    CARD8: 2 - message-type
    CARD8    - padding
    CARD16   - numer-of-encodings

    CARD32   - encoding-type in preference order
        0 - raw
        1 - copy-rectangle
        2 - RRE
        4 - CoRRE
        5 - hextile

5.2.4 FramebufferUpdateRequest (10 bytes)
    CARD8: 3 - message-type
    CARD8    - incremental (0 for full-update, non-zero for incremental)
    CARD16   - x-position
    CARD16   - y-position
    CARD16   - width
    CARD16   - height


5.2.5 KeyEvent: 8 bytes
    CARD8: 4 - message-type
    CARD8    - down-flag
    2 bytes  - padding
    CARD32   - key (X-Windows keysym values)

5.2.6 PointerEvent: 6 bytes
    CARD8: 5 - message-type
    CARD8    - button-mask
    CARD16   - x-position
    CARD16   - y-position

5.2.7 ClientCutText: >=9 bytes
    CARD8: 6 - message-type
    ...


Server to Client Messages:

5.3.1 FramebufferUpdate
    CARD8: 0 - message-type
    1 byte   - padding
    CARD16   - number-of-rectangles

    CARD16   - x-position
    CARD16   - y-position
    CARD16   - width
    CARD16   - height
    CARD16   - encoding-type:
        0 - raw
        1 - copy rectangle
        2 - RRE
        4 - CoRRE
        5 - hextile

        raw:
            - width x height pixel values

        copy rectangle: 
            CARD16 - src-x-position
            CARD16 - src-y-position

        RRE:
            CARD32  - N number-of-subrectangles
            Nxd bytes - background-pixel-value (d bits-per-pixel)

        ...

5.3.2 SetColourMapEntries (no support)
    CARD8: 1 - message-type
    ...

5.3.3 Bell
    CARD8: 2 - message-type

5.3.4 ServerCutText
    CARD8: 3 - message-type