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