LibVNCServer/LibVNCClient
Public Member Functions | Data Fields
rfbClient Struct Reference

#include <rfbclient.h>

Public Member Functions

 MUTEX (tlsRwMutex)
 Mutex to protect concurrent TLS read/write. More...
 

Data Fields

uint8_t * frameBuffer
 
int width
 
int height
 
int endianTest
 
AppData appData
 
const char * programName
 
char * serverHost
 
int serverPort
 if -1, then use file recorded by vncrec More...
 
rfbBool listenSpecified
 
int listenPort
 
int flashPort
 
struct {
   int   x
 
   int   y
 
   int   w
 
   int   h
 
updateRect
 
char buffer [RFB_BUFFER_SIZE]
 
rfbSocket sock
 
rfbBool canUseCoRRE
 
rfbBool canUseHextile
 
char * desktopName
 
rfbPixelFormat format
 
rfbServerInitMsg si
 
char buf [RFB_BUF_SIZE]
 
char * bufoutptr
 
unsigned int buffered
 
int ultra_buffer_size
 
char * ultra_buffer
 
int raw_buffer_size
 
char * raw_buffer
 
uint8_t * rcSource
 Holds cursor shape data when received from server. More...
 
uint8_t * rcMask
 
rfbClientDataclientData
 private data pointer More...
 
rfbVNCRecvncRec
 
int KeyboardLedStateEnabled
 
int CurrentKeyboardLedState
 
int canHandleNewFBSize
 
HandleTextChatProc HandleTextChat
 
HandleKeyboardLedStateProc HandleKeyboardLedState
 
HandleCursorPosProc HandleCursorPos
 
SoftCursorLockAreaProc SoftCursorLockArea
 
SoftCursorUnlockScreenProc SoftCursorUnlockScreen
 
GotFrameBufferUpdateProc GotFrameBufferUpdate
 
GetPasswordProc GetPassword
 the pointer returned by GetPassword will be freed after use! More...
 
MallocFrameBufferProc MallocFrameBuffer
 
GotXCutTextProc GotXCutText
 
BellProc Bell
 
GotCursorShapeProc GotCursorShape
 
GotCopyRectProc GotCopyRect
 
rfbSupportedMessages supportedMessages
 Which messages are supported by the server This is a guess for most servers. More...
 
int major
 negotiated protocol version More...
 
int minor
 
uint32_t authScheme
 The selected security types. More...
 
uint32_t subAuthScheme
 
void * tlsSession
 The TLS session for Anonymous TLS and VeNCrypt. More...
 
GetCredentialProc GetCredential
 To support security types that requires user input (except VNC password authentication), for example VeNCrypt and MSLogon, this callback function must be set before the authentication. More...
 
uint32_t * clientAuthSchemes
 The 0-terminated security types supported by the client. More...
 
char * destHost
 When the server is a repeater, this specifies the final destination. More...
 
int destPort
 
int QoS_DSCP
 the QoS IP DSCP for this client More...
 
HandleXvpMsgProc HandleXvpMsg
 hook to handle xvp server messages More...
 
rfbSocket listenSock
 
FinishedFrameBufferUpdateProc FinishedFrameBufferUpdate
 
char * listenAddress
 
rfbSocket listen6Sock
 
char * listen6Address
 
int listen6Port
 
unsigned long outputWindow
 
LockWriteToTLSProc LockWriteToTLS
 These lock/unlock hooks are not used anymore. More...
 
UnlockWriteToTLSProc UnlockWriteToTLS
 
GotFillRectProc GotFillRect
 Hooks for custom rendering. More...
 
GotBitmapProc GotBitmap
 
GotJpegProc GotJpeg
 Hook for custom JPEG decoding and rendering. More...
 
unsigned int connectTimeout
 
unsigned int readTimeout
 
rfbBool requestedResize
 
rfbExtDesktopScreen screen
 Used for intended dimensions, rfbClient.width and rfbClient.height are used to manage the real framebuffer dimensions. More...
 

Detailed Description

Deprecated:
Examples
SDLvncviewer.c, ppmtest.c, and vnc2mpg.c.

Definition at line 241 of file rfbclient.h.

Member Function Documentation

◆ MUTEX()

MUTEX ( tlsRwMutex  )

Mutex to protect concurrent TLS read/write.

For internal use only.

Field Documentation

◆ appData

AppData appData

Definition at line 247 of file rfbclient.h.

◆ authScheme

uint32_t authScheme

The selected security types.

Definition at line 378 of file rfbclient.h.

◆ Bell

BellProc Bell

Definition at line 359 of file rfbclient.h.

◆ buf

char buf[RFB_BUF_SIZE]

Definition at line 278 of file rfbclient.h.

◆ buffer

char buffer[RFB_BUFFER_SIZE]

Definition at line 265 of file rfbclient.h.

◆ buffered

unsigned int buffered

Definition at line 280 of file rfbclient.h.

◆ bufoutptr

char* bufoutptr

Definition at line 279 of file rfbclient.h.

◆ canHandleNewFBSize

int canHandleNewFBSize
Examples
SDLvncviewer.c.

Definition at line 346 of file rfbclient.h.

◆ canUseCoRRE

rfbBool canUseCoRRE

Definition at line 270 of file rfbclient.h.

◆ canUseHextile

rfbBool canUseHextile

Definition at line 271 of file rfbclient.h.

◆ clientAuthSchemes

uint32_t* clientAuthSchemes

The 0-terminated security types supported by the client.

Set by function SetClientAuthSchemes()

Definition at line 393 of file rfbclient.h.

◆ clientData

rfbClientData* clientData

private data pointer

Definition at line 338 of file rfbclient.h.

◆ connectTimeout

unsigned int connectTimeout

Definition at line 463 of file rfbclient.h.

◆ CurrentKeyboardLedState

int CurrentKeyboardLedState

Definition at line 344 of file rfbclient.h.

◆ desktopName

char* desktopName
Examples
SDLvncviewer.c, and ppmtest.c.

Definition at line 272 of file rfbclient.h.

◆ destHost

char* destHost

When the server is a repeater, this specifies the final destination.

Definition at line 396 of file rfbclient.h.

◆ destPort

int destPort

Definition at line 397 of file rfbclient.h.

◆ endianTest

int endianTest

Definition at line 245 of file rfbclient.h.

◆ FinishedFrameBufferUpdate

FinishedFrameBufferUpdateProc FinishedFrameBufferUpdate

Definition at line 408 of file rfbclient.h.

◆ flashPort

int flashPort

Definition at line 253 of file rfbclient.h.

◆ format

Examples
SDLvncviewer.c, ppmtest.c, and vnc2mpg.c.

Definition at line 273 of file rfbclient.h.

◆ frameBuffer

uint8_t* frameBuffer
Examples
SDLvncviewer.c, ppmtest.c, and vnc2mpg.c.

Definition at line 242 of file rfbclient.h.

◆ GetCredential

GetCredentialProc GetCredential

To support security types that requires user input (except VNC password authentication), for example VeNCrypt and MSLogon, this callback function must be set before the authentication.

Otherwise, it implicates that the caller application does not support it and related security types should be bypassed.

Examples
SDLvncviewer.c.

Definition at line 389 of file rfbclient.h.

◆ GetPassword

GetPasswordProc GetPassword

the pointer returned by GetPassword will be freed after use!

Examples
ppmtest.c.

Definition at line 356 of file rfbclient.h.

◆ GotBitmap

GotBitmapProc GotBitmap

Definition at line 437 of file rfbclient.h.

◆ GotCopyRect

GotCopyRectProc GotCopyRect

Definition at line 362 of file rfbclient.h.

◆ GotCursorShape

GotCursorShapeProc GotCursorShape

Definition at line 361 of file rfbclient.h.

◆ GotFillRect

GotFillRectProc GotFillRect

Hooks for custom rendering.

VNC rendering boils down to 3 activities:

  • GotCopyRect: copy an area of the framebuffer
  • GotFillRect: fill an area of the framebuffer with a solid color
  • GotBitmap: copy the bitmap in the buffer into the framebuffer The client application should either set all three of these or none!

Definition at line 436 of file rfbclient.h.

◆ GotFrameBufferUpdate

GotFrameBufferUpdateProc GotFrameBufferUpdate
Examples
SDLvncviewer.c, ppmtest.c, and vnc2mpg.c.

Definition at line 354 of file rfbclient.h.

◆ GotJpeg

GotJpegProc GotJpeg

Hook for custom JPEG decoding and rendering.

Definition at line 439 of file rfbclient.h.

◆ GotXCutText

GotXCutTextProc GotXCutText
Examples
SDLvncviewer.c.

Definition at line 358 of file rfbclient.h.

◆ h

int h
Examples
SDLvncviewer.c.

Definition at line 256 of file rfbclient.h.

◆ HandleCursorPos

HandleCursorPosProc HandleCursorPos

Definition at line 351 of file rfbclient.h.

◆ HandleKeyboardLedState

HandleKeyboardLedStateProc HandleKeyboardLedState
Examples
SDLvncviewer.c.

Definition at line 350 of file rfbclient.h.

◆ HandleTextChat

HandleTextChatProc HandleTextChat
Examples
SDLvncviewer.c.

Definition at line 349 of file rfbclient.h.

◆ HandleXvpMsg

HandleXvpMsgProc HandleXvpMsg

hook to handle xvp server messages

Definition at line 403 of file rfbclient.h.

◆ height

int height
Examples
SDLvncviewer.c, ppmtest.c, and vnc2mpg.c.

Definition at line 243 of file rfbclient.h.

◆ KeyboardLedStateEnabled

int KeyboardLedStateEnabled

Definition at line 343 of file rfbclient.h.

◆ listen6Address

char* listen6Address

Definition at line 413 of file rfbclient.h.

◆ listen6Port

int listen6Port
Examples
SDLvncviewer.c.

Definition at line 414 of file rfbclient.h.

◆ listen6Sock

rfbSocket listen6Sock

Definition at line 412 of file rfbclient.h.

◆ listenAddress

char* listenAddress

Definition at line 410 of file rfbclient.h.

◆ listenPort

int listenPort
Examples
SDLvncviewer.c.

Definition at line 253 of file rfbclient.h.

◆ listenSock

rfbSocket listenSock

Definition at line 406 of file rfbclient.h.

◆ listenSpecified

rfbBool listenSpecified

Definition at line 252 of file rfbclient.h.

◆ LockWriteToTLS

LockWriteToTLSProc LockWriteToTLS

These lock/unlock hooks are not used anymore.

LibVNCClient will now use platform-specific synchronization library to protect concurrent TLS R/W.

Deprecated:

Definition at line 425 of file rfbclient.h.

◆ major

int major

negotiated protocol version

Definition at line 375 of file rfbclient.h.

◆ MallocFrameBuffer

MallocFrameBufferProc MallocFrameBuffer
Examples
SDLvncviewer.c, and vnc2mpg.c.

Definition at line 357 of file rfbclient.h.

◆ minor

int minor

Definition at line 375 of file rfbclient.h.

◆ outputWindow

unsigned long outputWindow

Definition at line 417 of file rfbclient.h.

◆ programName

const char* programName

Definition at line 249 of file rfbclient.h.

◆ QoS_DSCP

int QoS_DSCP

the QoS IP DSCP for this client

Definition at line 400 of file rfbclient.h.

◆ raw_buffer

char* raw_buffer

Definition at line 294 of file rfbclient.h.

◆ raw_buffer_size

int raw_buffer_size

Definition at line 293 of file rfbclient.h.

◆ rcMask

uint8_t * rcMask

Definition at line 335 of file rfbclient.h.

◆ rcSource

uint8_t* rcSource

Holds cursor shape data when received from server.

Definition at line 335 of file rfbclient.h.

◆ readTimeout

unsigned int readTimeout

Definition at line 467 of file rfbclient.h.

◆ requestedResize

rfbBool requestedResize

Definition at line 475 of file rfbclient.h.

◆ screen

Used for intended dimensions, rfbClient.width and rfbClient.height are used to manage the real framebuffer dimensions.

Definition at line 479 of file rfbclient.h.

◆ serverHost

char* serverHost

Definition at line 250 of file rfbclient.h.

◆ serverPort

int serverPort

if -1, then use file recorded by vncrec

Definition at line 251 of file rfbclient.h.

◆ si

Definition at line 274 of file rfbclient.h.

◆ sock

rfbSocket sock

Definition at line 269 of file rfbclient.h.

◆ SoftCursorLockArea

SoftCursorLockAreaProc SoftCursorLockArea

Definition at line 352 of file rfbclient.h.

◆ SoftCursorUnlockScreen

SoftCursorUnlockScreenProc SoftCursorUnlockScreen

Definition at line 353 of file rfbclient.h.

◆ subAuthScheme

uint32_t subAuthScheme

Definition at line 378 of file rfbclient.h.

◆ supportedMessages

rfbSupportedMessages supportedMessages

Which messages are supported by the server This is a guess for most servers.

(If we can even detect the type of server)

If the server supports the "rfbEncodingSupportedMessages" then this will be updated when the encoding is received to accurately reflect the servers capabilities.

Definition at line 372 of file rfbclient.h.

◆ tlsSession

void* tlsSession

The TLS session for Anonymous TLS and VeNCrypt.

Definition at line 381 of file rfbclient.h.

◆ ultra_buffer

char* ultra_buffer

Definition at line 291 of file rfbclient.h.

◆ ultra_buffer_size

int ultra_buffer_size

Definition at line 290 of file rfbclient.h.

◆ UnlockWriteToTLS

UnlockWriteToTLSProc UnlockWriteToTLS

Definition at line 426 of file rfbclient.h.

◆ 

struct { ... } updateRect
Examples
SDLvncviewer.c.

◆ vncRec

rfbVNCRec* vncRec

Definition at line 340 of file rfbclient.h.

◆ w

int w
Examples
SDLvncviewer.c.

Definition at line 256 of file rfbclient.h.

◆ width

int width
Examples
SDLvncviewer.c, ppmtest.c, and vnc2mpg.c.

Definition at line 243 of file rfbclient.h.

◆ x

int x
Examples
SDLvncviewer.c.

Definition at line 256 of file rfbclient.h.

◆ y

int y
Examples
SDLvncviewer.c.

Definition at line 256 of file rfbclient.h.


The documentation for this struct was generated from the following file: