x11vnc  0.9.13
About: x11vnc is a VNC (Virtual Network Computing) server for real X displays. The last release by the original author Karl Runge (there are now newer community-based releases on https://github.com/LibVNC/x11vnc available.
  Fossies Dox: x11vnc-0.9.13.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

LibVNCServer API Reference

Files

file  rfb.h
 

Classes

struct  rfbColourMap
 
struct  _rfbSecurity
 
struct  _rfbProtocolExtension
 
struct  _rfbExtensionData
 
struct  _rfbScreenInfo
 
struct  _rfbFileTransferData
 
struct  _rfbStatList
 
struct  _rfbClientRec
 
struct  rfbCursor
 
struct  rfbFontData
 

Macros

#define LOCK(mutex)
 
#define UNLOCK(mutex)
 
#define MUTEX(mutex)
 
#define INIT_MUTEX(mutex)
 
#define TINI_MUTEX(mutex)
 
#define TSIGNAL(cond)
 
#define WAIT(cond, mutex)   this_is_unsupported
 
#define COND(cond)
 
#define INIT_COND(cond)
 
#define TINI_COND(cond)
 
#define IF_PTHREADS(x)
 
#define rfbInitServer   rfbInitServerWithoutPthreadsAndZRLE
 
#define FB_UPDATE_PENDING(cl)
 
#define Swap16(s)   ((((s) & 0xff) << 8) | (((s) >> 8) & 0xff))
 
#define Swap24(l)
 
#define Swap32(l)
 
#define Swap16IfLE(s)   (rfbEndianTest ? Swap16(s) : (s))
 
#define Swap24IfLE(l)   (rfbEndianTest ? Swap24(l) : (l))
 
#define Swap32IfLE(l)   (rfbEndianTest ? Swap32(l) : (l))
 
#define Swap16IfBE(s)   (rfbEndianTest ? (s) : Swap16(s))
 
#define Swap24IfBE(l)   (rfbEndianTest ? (l) : Swap24(l))
 
#define Swap32IfBE(l)   (rfbEndianTest ? (l) : Swap32(l))
 
#define LIBVNCSERVER_ALLOW_NON_AF_INET_SOCKETS
 
#define ULTRA_MAX_RECT_SIZE   (128*256)
 
#define ULTRA_MAX_SIZE(min)
 

Typedefs

typedef void(* rfbKbdAddEventProcPtr) (rfbBool down, rfbKeySym keySym, struct _rfbClientRec *cl)
 
typedef void(* rfbKbdReleaseAllKeysProcPtr) (struct _rfbClientRec *cl)
 
typedef void(* rfbPtrAddEventProcPtr) (int buttonMask, int x, int y, struct _rfbClientRec *cl)
 
typedef void(* rfbSetXCutTextProcPtr) (char *str, int len, struct _rfbClientRec *cl)
 
typedef struct rfbCursor *(* rfbGetCursorProcPtr) (struct _rfbClientRec *pScreen)
 
typedef rfbBool(* rfbSetTranslateFunctionProcPtr) (struct _rfbClientRec *cl)
 
typedef rfbBool(* rfbPasswordCheckProcPtr) (struct _rfbClientRec *cl, const char *encryptedPassWord, int len)
 
typedef enum rfbNewClientAction(* rfbNewClientHookPtr) (struct _rfbClientRec *cl)
 
typedef void(* rfbDisplayHookPtr) (struct _rfbClientRec *cl)
 
typedef void(* rfbDisplayFinishedHookPtr) (struct _rfbClientRec *cl, int result)
 
typedef int(* rfbGetKeyboardLedStateHookPtr) (struct _rfbScreenInfo *screen)
 
typedef rfbBool(* rfbXvpHookPtr) (struct _rfbClientRec *cl, uint8_t, uint8_t)
 
typedef void(* rfbSetSingleWindowProcPtr) (struct _rfbClientRec *cl, int x, int y)
 
typedef void(* rfbSetServerInputProcPtr) (struct _rfbClientRec *cl, int status)
 
typedef int(* rfbFileTransferPermitted) (struct _rfbClientRec *cl)
 
typedef void(* rfbSetTextChat) (struct _rfbClientRec *cl, int length, char *string)
 
typedef struct _rfbSecurity rfbSecurityHandler
 
typedef struct _rfbProtocolExtension rfbProtocolExtension
 
typedef struct _rfbExtensionData rfbExtensionData
 
typedef struct _rfbScreenInfo rfbScreenInfo
 
typedef struct _rfbScreenInforfbScreenInfoPtr
 
typedef void(* rfbTranslateFnType) (char *table, rfbPixelFormat *in, rfbPixelFormat *out, char *iptr, char *optr, int bytesBetweenInputLines, int width, int height)
 
typedef struct sraRegionsraRegionPtr
 
typedef void(* ClientGoneHookPtr) (struct _rfbClientRec *cl)
 
typedef struct _rfbFileTransferData rfbFileTransferData
 
typedef struct _rfbStatList rfbStatList
 
typedef struct _rfbClientRec rfbClientRec
 
typedef struct _rfbClientRecrfbClientPtr
 
typedef struct rfbClientIteratorrfbClientIteratorPtr
 
typedef struct rfbCursor rfbCursor
 
typedef struct rfbCursorrfbCursorPtr
 
typedef struct rfbFontData rfbFontData
 
typedef struct rfbFontDatarfbFontDataPtr
 
typedef void(* SelectionChangedHookPtr) (int _index)
 
typedef void(* rfbLogProc) (const char *format,...)
 

Enumerations

enum  rfbNewClientAction { RFB_CLIENT_ACCEPT, RFB_CLIENT_ON_HOLD, RFB_CLIENT_REFUSE }
 
enum  rfbSocketState { RFB_SOCKET_INIT, RFB_SOCKET_READY, RFB_SOCKET_SHUTDOWN }
 

Functions

void rfbInitSockets (rfbScreenInfoPtr rfbScreen)
 
void rfbShutdownSockets (rfbScreenInfoPtr rfbScreen)
 
void rfbDisconnectUDPSock (rfbScreenInfoPtr rfbScreen)
 
void rfbCloseClient (rfbClientPtr cl)
 
int rfbReadExact (rfbClientPtr cl, char *buf, int len)
 
int rfbReadExactTimeout (rfbClientPtr cl, char *buf, int len, int timeout)
 
int rfbWriteExact (rfbClientPtr cl, const char *buf, int len)
 
int rfbCheckFds (rfbScreenInfoPtr rfbScreen, long usec)
 
int rfbConnect (rfbScreenInfoPtr rfbScreen, char *host, int port)
 
int rfbConnectToTcpAddr (char *host, int port)
 
int rfbListenOnTCPPort (int port, in_addr_t iface)
 
int rfbListenOnUnixSocket (char *file, rfbScreenInfoPtr rfbScreen)
 
int rfbAcceptUnixSocket (int sock)
 
int rfbListenOnUDPPort (int port, in_addr_t iface)
 
int rfbStringToAddr (char *string, in_addr_t *addr)
 
rfbBool rfbSetNonBlocking (int sock)
 
rfbBool rfbSetTcpNoDelay (int sock)
 
void rfbClientListInit (rfbScreenInfoPtr rfbScreen)
 
rfbClientIteratorPtr rfbGetClientIterator (rfbScreenInfoPtr rfbScreen)
 
rfbClientPtr rfbClientIteratorNext (rfbClientIteratorPtr iterator)
 
void rfbReleaseClientIterator (rfbClientIteratorPtr iterator)
 
void rfbIncrClientRef (rfbClientPtr cl)
 
void rfbDecrClientRef (rfbClientPtr cl)
 
void rfbNewClientConnection (rfbScreenInfoPtr rfbScreen, int sock)
 
rfbClientPtr rfbNewClient (rfbScreenInfoPtr rfbScreen, int sock)
 
rfbClientPtr rfbNewUDPClient (rfbScreenInfoPtr rfbScreen)
 
rfbClientPtr rfbReverseConnection (rfbScreenInfoPtr rfbScreen, char *host, int port)
 
void rfbClientConnectionGone (rfbClientPtr cl)
 
void rfbProcessClientMessage (rfbClientPtr cl)
 
void rfbClientConnFailed (rfbClientPtr cl, char *reason)
 
void rfbNewUDPConnection (rfbScreenInfoPtr rfbScreen, int sock)
 
void rfbProcessUDPInput (rfbScreenInfoPtr rfbScreen)
 
rfbBool rfbSendFramebufferUpdate (rfbClientPtr cl, sraRegionPtr updateRegion)
 
rfbBool rfbSendRectEncodingRaw (rfbClientPtr cl, int x, int y, int w, int h)
 
rfbBool rfbSendUpdateBuf (rfbClientPtr cl)
 
void rfbSendServerCutText (rfbScreenInfoPtr rfbScreen, char *str, int len)
 
rfbBool rfbSendCopyRegion (rfbClientPtr cl, sraRegionPtr reg, int dx, int dy)
 
rfbBool rfbSendLastRectMarker (rfbClientPtr cl)
 
rfbBool rfbSendNewFBSize (rfbClientPtr cl, int w, int h)
 
rfbBool rfbSendSetColourMapEntries (rfbClientPtr cl, int firstColour, int nColours)
 
void rfbSendBell (rfbScreenInfoPtr rfbScreen)
 
char * rfbProcessFileTransferReadBuffer (rfbClientPtr cl, uint32_t length)
 
rfbBool rfbSendFileTransferChunk (rfbClientPtr cl)
 
rfbBool rfbSendDirContent (rfbClientPtr cl, int length, char *buffer)
 
rfbBool rfbSendFileTransferMessage (rfbClientPtr cl, uint8_t contentType, uint8_t contentParam, uint32_t size, uint32_t length, char *buffer)
 
rfbBool rfbProcessFileTransfer (rfbClientPtr cl, uint8_t contentType, uint8_t contentParam, uint32_t size, uint32_t length)
 
void rfbGotXCutText (rfbScreenInfoPtr rfbScreen, char *str, int len)
 
void rfbTranslateNone (char *table, rfbPixelFormat *in, rfbPixelFormat *out, char *iptr, char *optr, int bytesBetweenInputLines, int width, int height)
 
rfbBool rfbSetTranslateFunction (rfbClientPtr cl)
 
rfbBool rfbSetClientColourMap (rfbClientPtr cl, int firstColour, int nColours)
 
void rfbSetClientColourMaps (rfbScreenInfoPtr rfbScreen, int firstColour, int nColours)
 
void rfbHttpInitSockets (rfbScreenInfoPtr rfbScreen)
 
void rfbHttpShutdownSockets (rfbScreenInfoPtr rfbScreen)
 
void rfbHttpCheckFds (rfbScreenInfoPtr rfbScreen)
 
void rfbAuthNewClient (rfbClientPtr cl)
 
void rfbProcessClientSecurityType (rfbClientPtr cl)
 
void rfbAuthProcessClientMessage (rfbClientPtr cl)
 
void rfbRegisterSecurityHandler (rfbSecurityHandler *handler)
 
void rfbUnregisterSecurityHandler (rfbSecurityHandler *handler)
 
rfbBool rfbSendRectEncodingRRE (rfbClientPtr cl, int x, int y, int w, int h)
 
rfbBool rfbSendRectEncodingCoRRE (rfbClientPtr cl, int x, int y, int w, int h)
 
rfbBool rfbSendRectEncodingHextile (rfbClientPtr cl, int x, int y, int w, int h)
 
rfbBool rfbSendRectEncodingUltra (rfbClientPtr cl, int x, int y, int w, int h)
 
rfbBool rfbSendCursorShape (rfbClientPtr cl)
 
rfbBool rfbSendCursorPos (rfbClientPtr cl)
 
void rfbConvertLSBCursorBitmapOrMask (int width, int height, unsigned char *bitmap)
 
rfbCursorPtr rfbMakeXCursor (int width, int height, char *cursorString, char *maskString)
 
char * rfbMakeMaskForXCursor (int width, int height, char *cursorString)
 
char * rfbMakeMaskFromAlphaSource (int width, int height, unsigned char *alphaSource)
 
void rfbMakeXCursorFromRichCursor (rfbScreenInfoPtr rfbScreen, rfbCursorPtr cursor)
 
void rfbMakeRichCursorFromXCursor (rfbScreenInfoPtr rfbScreen, rfbCursorPtr cursor)
 
void rfbFreeCursor (rfbCursorPtr cursor)
 
void rfbSetCursor (rfbScreenInfoPtr rfbScreen, rfbCursorPtr c)
 
void rfbDefaultPtrAddEvent (int buttonMask, int x, int y, rfbClientPtr cl)
 
void rfbResetStats (rfbClientPtr cl)
 
void rfbPrintStats (rfbClientPtr cl)
 
int rfbDrawChar (rfbScreenInfoPtr rfbScreen, rfbFontDataPtr font, int x, int y, unsigned char c, rfbPixel colour)
 
void rfbDrawString (rfbScreenInfoPtr rfbScreen, rfbFontDataPtr font, int x, int y, const char *string, rfbPixel colour)
 
int rfbDrawCharWithClip (rfbScreenInfoPtr rfbScreen, rfbFontDataPtr font, int x, int y, unsigned char c, int x1, int y1, int x2, int y2, rfbPixel colour, rfbPixel backColour)
 
void rfbDrawStringWithClip (rfbScreenInfoPtr rfbScreen, rfbFontDataPtr font, int x, int y, const char *string, int x1, int y1, int x2, int y2, rfbPixel colour, rfbPixel backColour)
 
int rfbWidthOfString (rfbFontDataPtr font, const char *string)
 
int rfbWidthOfChar (rfbFontDataPtr font, unsigned char c)
 
void rfbFontBBox (rfbFontDataPtr font, unsigned char c, int *x1, int *y1, int *x2, int *y2)
 
void rfbWholeFontBBox (rfbFontDataPtr font, int *x1, int *y1, int *x2, int *y2)
 
rfbFontDataPtr rfbLoadConsoleFont (char *filename)
 
void rfbFreeFont (rfbFontDataPtr font)
 
void rfbFillRect (rfbScreenInfoPtr s, int x1, int y1, int x2, int y2, rfbPixel col)
 
void rfbDrawPixel (rfbScreenInfoPtr s, int x, int y, rfbPixel col)
 
void rfbDrawLine (rfbScreenInfoPtr s, int x1, int y1, int x2, int y2, rfbPixel col)
 
int rfbSelectBox (rfbScreenInfoPtr rfbScreen, rfbFontDataPtr font, char **list, int x1, int y1, int x2, int y2, rfbPixel foreColour, rfbPixel backColour, int border, SelectionChangedHookPtr selChangedHook)
 
void rfbUsage (void)
 
void rfbPurgeArguments (int *argc, int *position, int count, char *argv[])
 
rfbBool rfbProcessArguments (rfbScreenInfoPtr rfbScreen, int *argc, char *argv[])
 
rfbBool rfbProcessSizeArguments (int *width, int *height, int *bpp, int *argc, char *argv[])
 
void rfbLogEnable (int enabled)
 
void rfbLogPerror (const char *str)
 
void rfbScheduleCopyRect (rfbScreenInfoPtr rfbScreen, int x1, int y1, int x2, int y2, int dx, int dy)
 
void rfbScheduleCopyRegion (rfbScreenInfoPtr rfbScreen, sraRegionPtr copyRegion, int dx, int dy)
 
void rfbDoCopyRect (rfbScreenInfoPtr rfbScreen, int x1, int y1, int x2, int y2, int dx, int dy)
 
void rfbDoCopyRegion (rfbScreenInfoPtr rfbScreen, sraRegionPtr copyRegion, int dx, int dy)
 
void rfbMarkRectAsModified (rfbScreenInfoPtr rfbScreen, int x1, int y1, int x2, int y2)
 
void rfbMarkRegionAsModified (rfbScreenInfoPtr rfbScreen, sraRegionPtr modRegion)
 
void rfbDoNothingWithClient (rfbClientPtr cl)
 
enum rfbNewClientAction defaultNewClientHook (rfbClientPtr cl)
 
void rfbRegisterProtocolExtension (rfbProtocolExtension *extension)
 
void rfbUnregisterProtocolExtension (rfbProtocolExtension *extension)
 
struct _rfbProtocolExtensionrfbGetExtensionIterator ()
 
void rfbReleaseExtensionIterator ()
 
rfbBool rfbEnableExtension (rfbClientPtr cl, rfbProtocolExtension *extension, void *data)
 
rfbBool rfbDisableExtension (rfbClientPtr cl, rfbProtocolExtension *extension)
 
void * rfbGetExtensionClientData (rfbClientPtr cl, rfbProtocolExtension *extension)
 
rfbBool rfbCheckPasswordByList (rfbClientPtr cl, const char *response, int len)
 
rfbScreenInfoPtr rfbGetScreen (int *argc, char **argv, int width, int height, int bitsPerSample, int samplesPerPixel, int bytesPerPixel)
 
void rfbInitServer (rfbScreenInfoPtr rfbScreen)
 
void rfbShutdownServer (rfbScreenInfoPtr rfbScreen, rfbBool disconnectClients)
 
void rfbNewFramebuffer (rfbScreenInfoPtr rfbScreen, char *framebuffer, int width, int height, int bitsPerSample, int samplesPerPixel, int bytesPerPixel)
 
void rfbScreenCleanup (rfbScreenInfoPtr screenInfo)
 
void rfbSetServerVersionIdentity (rfbScreenInfoPtr screen, char *fmt,...)
 
void rfbStartOnHoldClient (rfbClientPtr cl)
 
void rfbRefuseOnHoldClient (rfbClientPtr cl)
 
void rfbRunEventLoop (rfbScreenInfoPtr screenInfo, long usec, rfbBool runInBackground)
 
rfbBool rfbProcessEvents (rfbScreenInfoPtr screenInfo, long usec)
 
rfbBool rfbIsActive (rfbScreenInfoPtr screenInfo)
 
void rfbRegisterTightVNCFileTransferExtension ()
 
void rfbUnregisterTightVNCFileTransferExtension ()
 
char * messageNameServer2Client (uint32_t type, char *buf, int len)
 
char * messageNameClient2Server (uint32_t type, char *buf, int len)
 
char * encodingName (uint32_t enc, char *buf, int len)
 
rfbStatListrfbStatLookupEncoding (rfbClientPtr cl, uint32_t type)
 
rfbStatListrfbStatLookupMessage (rfbClientPtr cl, uint32_t type)
 
void rfbStatRecordEncodingSent (rfbClientPtr cl, uint32_t type, int byteCount, int byteIfRaw)
 
void rfbStatRecordEncodingSentAdd (rfbClientPtr cl, uint32_t type, int byteCount)
 
void rfbStatRecordEncodingRcvd (rfbClientPtr cl, uint32_t type, int byteCount, int byteIfRaw)
 
void rfbStatRecordMessageSent (rfbClientPtr cl, uint32_t type, int byteCount, int byteIfRaw)
 
void rfbStatRecordMessageRcvd (rfbClientPtr cl, uint32_t type, int byteCount, int byteIfRaw)
 
int rfbStatGetSentBytes (rfbClientPtr cl)
 
int rfbStatGetSentBytesIfRaw (rfbClientPtr cl)
 
int rfbStatGetRcvdBytes (rfbClientPtr cl)
 
int rfbStatGetRcvdBytesIfRaw (rfbClientPtr cl)
 
int rfbStatGetMessageCountSent (rfbClientPtr cl, uint32_t type)
 
int rfbStatGetMessageCountRcvd (rfbClientPtr cl, uint32_t type)
 
int rfbStatGetEncodingCountSent (rfbClientPtr cl, uint32_t type)
 
int rfbStatGetEncodingCountRcvd (rfbClientPtr cl, uint32_t type)
 
void rfbSetProtocolVersion (rfbScreenInfoPtr rfbScreen, int major_, int minor_)
 
rfbBool rfbSendTextChatMessage (rfbClientPtr cl, uint32_t length, char *buffer)
 

Variables

char rfbEndianTest
 
int rfbMaxClientWait
 
rfbBool rfbEconomicTranslate
 
unsigned char rfbReverseByte [0x100]
 
rfbLogProc rfbLog
 
rfbLogProc rfbErr
 

Detailed Description

Macro Definition Documentation

◆ COND

#define COND (   cond)

Definition at line 92 of file rfb.h.

◆ FB_UPDATE_PENDING

#define FB_UPDATE_PENDING (   cl)
Value:
(((cl)->enableCursorShapeUpdates && (cl)->cursorWasChanged) || \
(((cl)->enableCursorShapeUpdates == FALSE && \
((cl)->cursorX != (cl)->screen->cursorX || \
(cl)->cursorY != (cl)->screen->cursorY))) || \
((cl)->useNewFBSize && (cl)->newFBSizePending) || \
((cl)->enableCursorPosUpdates && (cl)->cursorWasMoved) || \
!sraRgnEmpty((cl)->copyRegion) || !sraRgnEmpty((cl)->modifiedRegion))
static rfbClientRec cl
Definition: httpd.c:219
#define FALSE
Definition: rfbproto.h:104
rfbBool sraRgnEmpty(const sraRegion *rgn)
Definition: rfbregion.c:678

This macro is used to test whether there is a framebuffer update needing to be sent to the client.

Definition at line 627 of file rfb.h.

◆ IF_PTHREADS

#define IF_PTHREADS (   x)

Definition at line 95 of file rfb.h.

◆ INIT_COND

#define INIT_COND (   cond)

Definition at line 93 of file rfb.h.

◆ INIT_MUTEX

#define INIT_MUTEX (   mutex)

Definition at line 88 of file rfb.h.

◆ LIBVNCSERVER_ALLOW_NON_AF_INET_SOCKETS

#define LIBVNCSERVER_ALLOW_NON_AF_INET_SOCKETS

Let the app know that non-AF_INET sockets are allowed

Definition at line 685 of file rfb.h.

◆ LOCK

#define LOCK (   mutex)

Definition at line 85 of file rfb.h.

◆ MUTEX

#define MUTEX (   mutex)

Definition at line 87 of file rfb.h.

◆ rfbInitServer

#define rfbInitServer   rfbInitServerWithoutPthreadsAndZRLE

Definition at line 114 of file rfb.h.

◆ Swap16

#define Swap16 (   s)    ((((s) & 0xff) << 8) | (((s) >> 8) & 0xff))

Definition at line 640 of file rfb.h.

◆ Swap16IfBE

#define Swap16IfBE (   s)    (rfbEndianTest ? (s) : Swap16(s))

Definition at line 658 of file rfb.h.

◆ Swap16IfLE

#define Swap16IfLE (   s)    (rfbEndianTest ? Swap16(s) : (s))

Definition at line 653 of file rfb.h.

◆ Swap24

#define Swap24 (   l)
Value:
((((l) & 0xff) << 16) | (((l) >> 16) & 0xff) | \
(((l) & 0x00ff00)))

Definition at line 642 of file rfb.h.

◆ Swap24IfBE

#define Swap24IfBE (   l)    (rfbEndianTest ? (l) : Swap24(l))

Definition at line 659 of file rfb.h.

◆ Swap24IfLE

#define Swap24IfLE (   l)    (rfbEndianTest ? Swap24(l) : (l))

Definition at line 654 of file rfb.h.

◆ Swap32

#define Swap32 (   l)
Value:
(((l) >> 24) | \
(((l) & 0x00ff0000) >> 8) | \
(((l) & 0x0000ff00) << 8) | \
((l) << 24))

Definition at line 645 of file rfb.h.

◆ Swap32IfBE

#define Swap32IfBE (   l)    (rfbEndianTest ? (l) : Swap32(l))

Definition at line 660 of file rfb.h.

◆ Swap32IfLE

#define Swap32IfLE (   l)    (rfbEndianTest ? Swap32(l) : (l))

Definition at line 655 of file rfb.h.

◆ TINI_COND

#define TINI_COND (   cond)

Definition at line 94 of file rfb.h.

◆ TINI_MUTEX

#define TINI_MUTEX (   mutex)

Definition at line 89 of file rfb.h.

◆ TSIGNAL

#define TSIGNAL (   cond)

Definition at line 90 of file rfb.h.

◆ ULTRA_MAX_RECT_SIZE

#define ULTRA_MAX_RECT_SIZE   (128*256)

Definition at line 777 of file rfb.h.

◆ ULTRA_MAX_SIZE

#define ULTRA_MAX_SIZE (   min)
Value:
((( min * 2 ) > ULTRA_MAX_RECT_SIZE ) ? \
( min * 2 ) : ULTRA_MAX_RECT_SIZE )
#define ULTRA_MAX_RECT_SIZE
Definition: rfb.h:777

Definition at line 778 of file rfb.h.

◆ UNLOCK

#define UNLOCK (   mutex)

Definition at line 86 of file rfb.h.

◆ WAIT

#define WAIT (   cond,
  mutex 
)    this_is_unsupported

Definition at line 91 of file rfb.h.

Typedef Documentation

◆ ClientGoneHookPtr

typedef void(* ClientGoneHookPtr) (struct _rfbClientRec *cl)

Definition at line 394 of file rfb.h.

◆ rfbClientIteratorPtr

Definition at line 691 of file rfb.h.

◆ rfbClientPtr

typedef struct _rfbClientRec * rfbClientPtr

◆ rfbClientRec

typedef struct _rfbClientRec rfbClientRec

◆ rfbCursor

typedef struct rfbCursor rfbCursor

◆ rfbCursorPtr

typedef struct rfbCursor * rfbCursorPtr

◆ rfbDisplayFinishedHookPtr

typedef void(* rfbDisplayFinishedHookPtr) (struct _rfbClientRec *cl, int result)

Definition at line 143 of file rfb.h.

◆ rfbDisplayHookPtr

typedef void(* rfbDisplayHookPtr) (struct _rfbClientRec *cl)

Definition at line 142 of file rfb.h.

◆ rfbExtensionData

◆ rfbFileTransferData

◆ rfbFileTransferPermitted

typedef int(* rfbFileTransferPermitted) (struct _rfbClientRec *cl)

Permit the server to allow or deny filetransfers. This is defaulted to deny It is called when a client initiates a connection to determine if it is permitted.

Definition at line 162 of file rfb.h.

◆ rfbFontData

typedef struct rfbFontData rfbFontData

◆ rfbFontDataPtr

typedef struct rfbFontData* rfbFontDataPtr

◆ rfbGetCursorProcPtr

typedef struct rfbCursor*(* rfbGetCursorProcPtr) (struct _rfbClientRec *pScreen)

Definition at line 138 of file rfb.h.

◆ rfbGetKeyboardLedStateHookPtr

typedef int(* rfbGetKeyboardLedStateHookPtr) (struct _rfbScreenInfo *screen)

support the capability to view the caps/num/scroll states of the X server

Definition at line 145 of file rfb.h.

◆ rfbKbdAddEventProcPtr

typedef void(* rfbKbdAddEventProcPtr) (rfbBool down, rfbKeySym keySym, struct _rfbClientRec *cl)

Definition at line 134 of file rfb.h.

◆ rfbKbdReleaseAllKeysProcPtr

typedef void(* rfbKbdReleaseAllKeysProcPtr) (struct _rfbClientRec *cl)

Definition at line 135 of file rfb.h.

◆ rfbLogProc

typedef void(* rfbLogProc) (const char *format,...)

Definition at line 913 of file rfb.h.

◆ rfbNewClientHookPtr

typedef enum rfbNewClientAction(* rfbNewClientHookPtr) (struct _rfbClientRec *cl)

Definition at line 141 of file rfb.h.

◆ rfbPasswordCheckProcPtr

typedef rfbBool(* rfbPasswordCheckProcPtr) (struct _rfbClientRec *cl, const char *encryptedPassWord, int len)

Definition at line 140 of file rfb.h.

◆ rfbProtocolExtension

Protocol extension handling.

◆ rfbPtrAddEventProcPtr

typedef void(* rfbPtrAddEventProcPtr) (int buttonMask, int x, int y, struct _rfbClientRec *cl)

Definition at line 136 of file rfb.h.

◆ rfbScreenInfo

typedef struct _rfbScreenInfo rfbScreenInfo

Per-screen (framebuffer) structure. There can be as many as you wish, each serving different clients. However, you have to call rfbProcessEvents for each of these.

◆ rfbScreenInfoPtr

typedef struct _rfbScreenInfo * rfbScreenInfoPtr

◆ rfbSecurityHandler

Security handling (RFB protocol version 3.7)

◆ rfbSetServerInputProcPtr

typedef void(* rfbSetServerInputProcPtr) (struct _rfbClientRec *cl, int status)

Status determines if the X11 server permits input from the local user status==0 or 1

Definition at line 157 of file rfb.h.

◆ rfbSetSingleWindowProcPtr

typedef void(* rfbSetSingleWindowProcPtr) (struct _rfbClientRec *cl, int x, int y)

If x==1 and y==1 then set the whole display else find the window underneath x and y and set the framebuffer to the dimensions of that window

Definition at line 152 of file rfb.h.

◆ rfbSetTextChat

typedef void(* rfbSetTextChat) (struct _rfbClientRec *cl, int length, char *string)

Handle the textchat messages

Definition at line 164 of file rfb.h.

◆ rfbSetTranslateFunctionProcPtr

typedef rfbBool(* rfbSetTranslateFunctionProcPtr) (struct _rfbClientRec *cl)

Definition at line 139 of file rfb.h.

◆ rfbSetXCutTextProcPtr

typedef void(* rfbSetXCutTextProcPtr) (char *str, int len, struct _rfbClientRec *cl)

Definition at line 137 of file rfb.h.

◆ rfbStatList

typedef struct _rfbStatList rfbStatList

◆ rfbTranslateFnType

typedef void(* rfbTranslateFnType) (char *table, rfbPixelFormat *in, rfbPixelFormat *out, char *iptr, char *optr, int bytesBetweenInputLines, int width, int height)

rfbTranslateFnType is the type of translation functions.

Definition at line 378 of file rfb.h.

◆ rfbXvpHookPtr

typedef rfbBool(* rfbXvpHookPtr) (struct _rfbClientRec *cl, uint8_t, uint8_t)

Definition at line 146 of file rfb.h.

◆ SelectionChangedHookPtr

typedef void(* SelectionChangedHookPtr) (int _index)

this opens a modal select box. list is an array of strings, the end marked with a NULL. It returns the index in the list or -1 if cancelled or something else wasn't kosher.

Definition at line 896 of file rfb.h.

◆ sraRegionPtr

typedef struct sraRegion* sraRegionPtr

Definition at line 388 of file rfb.h.

Enumeration Type Documentation

◆ rfbNewClientAction

Enumerator
RFB_CLIENT_ACCEPT 
RFB_CLIENT_ON_HOLD 
RFB_CLIENT_REFUSE 

Definition at line 122 of file rfb.h.

◆ rfbSocketState

Enumerator
RFB_SOCKET_INIT 
RFB_SOCKET_READY 
RFB_SOCKET_SHUTDOWN 

Definition at line 128 of file rfb.h.

Function Documentation

◆ defaultNewClientHook()

enum rfbNewClientAction defaultNewClientHook ( rfbClientPtr  cl)

◆ encodingName()

◆ messageNameClient2Server()

char* messageNameClient2Server ( uint32_t  type,
char *  buf,
int  len 
)

◆ messageNameServer2Client()

char* messageNameServer2Client ( uint32_t  type,
char *  buf,
int  len 
)

Definition at line 46 of file stats.c.

References buf, rfbBell, rfbFileTransfer, rfbFramebufferUpdate, rfbPalmVNCReSizeFrameBuffer, rfbResizeFrameBuffer, rfbServerCutText, rfbSetColourMapEntries, rfbTextChat, and rfbXvp.

Referenced by rfbPrintStats().

Here is the caller graph for this function:

◆ rfbAcceptUnixSocket()

int rfbAcceptUnixSocket ( int  sock)

Definition at line 715 of file sockets.c.

References fd, rfbLog, and rfbLogPerror().

Referenced by accept_unix().

Here is the caller graph for this function:

◆ rfbAuthNewClient()

◆ rfbAuthProcessClientMessage()

◆ rfbCheckFds()

◆ rfbCheckPasswordByList()

rfbBool rfbCheckPasswordByList ( rfbClientPtr  cl,
const char *  response,
int  len 
)

◆ rfbClientConnectionGone()

◆ rfbClientConnFailed()

void rfbClientConnFailed ( rfbClientPtr  cl,
char *  reason 
)

Definition at line 675 of file rfbserver.c.

References buf, cl, rfbCloseClient(), rfbConnFailed, rfbLog, rfbLogPerror(), rfbWriteExact(), and Swap32IfLE.

Referenced by rfbAuthNewClient().

Here is the caller graph for this function:

◆ rfbClientIteratorNext()

◆ rfbClientListInit()

void rfbClientListInit ( rfbScreenInfoPtr  rfbScreen)

Definition at line 123 of file rfbserver.c.

References _rfbScreenInfo::clientHead, and INIT_MUTEX.

Referenced by rfbGetScreen().

Here is the caller graph for this function:

◆ rfbCloseClient()

void rfbCloseClient ( rfbClientPtr  cl)

Definition at line 369 of file sockets.c.

References _rfbScreenInfo::allFds, cl, _rfbProtocolExtension::close, closesocket, _rfbExtensionData::data, _rfbExtensionData::extension, _rfbClientRec::extensions, LOCK, _rfbScreenInfo::maxFd, _rfbExtensionData::next, _rfbClientRec::screen, _rfbClientRec::sock, TSIGNAL, and UNLOCK.

Referenced by accept_openssl(), close_all_clients(), close_clients(), get_file_transfer_permitted(), handle_xrandr_change(), HandleFileCreateDirRequest(), HandleFileDownloadCancelRequest(), HandleFileDownloadLengthError(), HandleFileDownloadRequest(), HandleFileListRequest(), HandleFileUploadDataRequest(), HandleFileUploadFailedRequest(), HandleFileUploadLengthError(), HandleFileUploadRequest(), handleMessage(), rfbAuthProcessClientMessage(), rfbClientConnFailed(), rfbClientSendString(), rfbGetTightClientData(), rfbHandleSecTypeTight(), rfbNewTCPOrUDPClient(), rfbProcessClientAuthType(), rfbProcessClientInitMessage(), rfbProcessClientNormalMessage(), rfbProcessClientProtocolVersion(), rfbProcessClientSecurityType(), rfbProcessClientTunnelingType(), rfbProcessFileTransfer(), rfbProcessFileTransferReadBuffer(), rfbRefuseOnHoldClient(), rfbSendAuthCaps(), rfbSendBell(), rfbSendFileTransferMessage(), rfbSendInteractionCaps(), rfbSendNewScaleSize(), rfbSendRectEncodingRaw(), rfbSendSecurityType(), rfbSendSecurityTypeList(), rfbSendServerCutText(), rfbSendSetColourMapEntries(), rfbSendTunnelingCaps(), rfbSendUpdateBuf(), rfbSendXvp(), rfbSetClientColourMapBGR233(), rfbSetTranslateFunction(), rfbShutdownServer(), rfbVncAuthNone(), rfbVncAuthSendChallenge(), RunFileDownloadThread(), set_server_input(), set_single_window(), set_text_chat(), and unixpw_deny().

◆ rfbConnect()

int rfbConnect ( rfbScreenInfoPtr  rfbScreen,
char *  host,
int  port 
)

Definition at line 403 of file sockets.c.

References _rfbScreenInfo::allFds, closesocket, max, _rfbScreenInfo::maxFd, rfbConnectToTcpAddr(), rfbLog, rfbLogPerror(), rfbSetNonBlocking(), and rfbSetTcpNoDelay().

Referenced by rfbReverseConnection().

Here is the caller graph for this function:

◆ rfbConnectToTcpAddr()

int rfbConnectToTcpAddr ( char *  host,
int  port 
)

Definition at line 734 of file sockets.c.

References closesocket, and INADDR_NONE.

Referenced by connect_tcp(), and rfbConnect().

Here is the caller graph for this function:

◆ rfbConvertLSBCursorBitmapOrMask()

void rfbConvertLSBCursorBitmapOrMask ( int  width,
int  height,
unsigned char *  bitmap 
)

Definition at line 245 of file cursor.c.

References rfbReverseByte.

◆ rfbDecrClientRef()

void rfbDecrClientRef ( rfbClientPtr  cl)

Definition at line 109 of file rfbserver.c.

Referenced by rfbClientIteratorHead(), rfbClientIteratorNext(), and rfbReleaseClientIterator().

Here is the caller graph for this function:

◆ rfbDefaultPtrAddEvent()

void rfbDefaultPtrAddEvent ( int  buttonMask,
int  x,
int  y,
rfbClientPtr  cl 
)

◆ rfbDisableExtension()

rfbBool rfbDisableExtension ( rfbClientPtr  cl,
rfbProtocolExtension extension 
)

Definition at line 181 of file main.c.

References cl, _rfbExtensionData::data, _rfbExtensionData::extension, _rfbClientRec::extensions, FALSE, _rfbExtensionData::next, and TRUE.

Referenced by rfbProcessClientInitMessage().

Here is the caller graph for this function:

◆ rfbDisconnectUDPSock()

void rfbDisconnectUDPSock ( rfbScreenInfoPtr  rfbScreen)

Definition at line 361 of file sockets.c.

References FALSE, and _rfbScreenInfo::udpSockConnected.

Referenced by rfbCheckFds(), and rfbProcessUDPInput().

Here is the caller graph for this function:

◆ rfbDoCopyRect()

void rfbDoCopyRect ( rfbScreenInfoPtr  rfbScreen,
int  x1,
int  y1,
int  x2,
int  y2,
int  dx,
int  dy 
)

Definition at line 385 of file main.c.

References rfbDoCopyRegion(), screen, sraRgnCreateRect(), and sraRgnDestroy().

Referenced by do_copyregion(), and selSelect().

Here is the caller graph for this function:

◆ rfbDoCopyRegion()

◆ rfbDoNothingWithClient()

void rfbDoNothingWithClient ( rfbClientPtr  cl)

Definition at line 738 of file main.c.

Referenced by rfbGetScreen(), and rfbNewTCPOrUDPClient().

Here is the caller graph for this function:

◆ rfbDrawChar()

int rfbDrawChar ( rfbScreenInfoPtr  rfbScreen,
rfbFontDataPtr  font,
int  x,
int  y,
unsigned char  c,
rfbPixel  colour 
)

◆ rfbDrawCharWithClip()

int rfbDrawCharWithClip ( rfbScreenInfoPtr  rfbScreen,
rfbFontDataPtr  font,
int  x,
int  y,
unsigned char  c,
int  x1,
int  y1,
int  x2,
int  y2,
rfbPixel  colour,
rfbPixel  backColour 
)

if colour==backColour, background is transparent

Definition at line 48 of file font.c.

References rfbPixelFormat::bitsPerPixel, bpp, rfbFontData::data, _rfbScreenInfo::frameBuffer, j, rfbFontData::metaData, _rfbScreenInfo::paddedWidthInBytes, rfbEndianTest, and _rfbScreenInfo::serverFormat.

Referenced by rfbDrawStringWithClip().

Here is the caller graph for this function:

◆ rfbDrawLine()

void rfbDrawLine ( rfbScreenInfoPtr  s,
int  x1,
int  y1,
int  x2,
int  y2,
rfbPixel  col 
)

◆ rfbDrawPixel()

void rfbDrawPixel ( rfbScreenInfoPtr  s,
int  x,
int  y,
rfbPixel  col 
)

Definition at line 20 of file draw.c.

References _rfbScreenInfo::bitsPerPixel, bpp, _rfbScreenInfo::paddedWidthInBytes, rfbEndianTest, rfbMarkRectAsModified(), and SETPIXEL.

Referenced by rfbDrawLine().

Here is the caller graph for this function:

◆ rfbDrawString()

void rfbDrawString ( rfbScreenInfoPtr  rfbScreen,
rfbFontDataPtr  font,
int  x,
int  y,
const char *  string,
rfbPixel  colour 
)

Definition at line 37 of file font.c.

References rfbDrawChar().

Referenced by selPaintButtons(), unixpw_deny(), unixpw_keystroke(), unixpw_msg(), unixpw_screen(), and unixpw_verify_screen().

Here is the caller graph for this function:

◆ rfbDrawStringWithClip()

void rfbDrawStringWithClip ( rfbScreenInfoPtr  rfbScreen,
rfbFontDataPtr  font,
int  x,
int  y,
const char *  string,
int  x1,
int  y1,
int  x2,
int  y2,
rfbPixel  colour,
rfbPixel  backColour 
)

Definition at line 104 of file font.c.

References rfbDrawCharWithClip().

Referenced by selPaintButtons(), and selPaintLine().

Here is the caller graph for this function:

◆ rfbEnableExtension()

rfbBool rfbEnableExtension ( rfbClientPtr  cl,
rfbProtocolExtension extension,
void *  data 
)

◆ rfbFillRect()

void rfbFillRect ( rfbScreenInfoPtr  s,
int  x1,
int  y1,
int  x2,
int  y2,
rfbPixel  col 
)

Definition at line 3 of file draw.c.

References _rfbScreenInfo::bitsPerPixel, bpp, _rfbScreenInfo::frameBuffer, j, _rfbScreenInfo::paddedWidthInBytes, rfbEndianTest, and rfbMarkRectAsModified().

Referenced by rfbSelectBox(), selPaintButtons(), and selPaintLine().

Here is the caller graph for this function:

◆ rfbFontBBox()

void rfbFontBBox ( rfbFontDataPtr  font,
unsigned char  c,
int x1,
int y1,
int x2,
int y2 
)

Definition at line 131 of file font.c.

References rfbFontData::metaData.

◆ rfbFreeCursor()

void rfbFreeCursor ( rfbCursorPtr  cursor)

◆ rfbFreeFont()

void rfbFreeFont ( rfbFontDataPtr  font)

free a dynamically loaded font

Definition at line 191 of file font.c.

References rfbFontData::data, and rfbFontData::metaData.

◆ rfbGetClientIterator()

◆ rfbGetExtensionClientData()

void* rfbGetExtensionClientData ( rfbClientPtr  cl,
rfbProtocolExtension extension 
)

Definition at line 202 of file main.c.

References cl, _rfbExtensionData::data, _rfbExtensionData::extension, _rfbClientRec::extensions, _rfbExtensionData::next, and rfbLog.

Referenced by rfbGetTightClientData().

Here is the caller graph for this function:

◆ rfbGetExtensionIterator()

struct _rfbProtocolExtension* rfbGetExtensionIterator ( )

Definition at line 146 of file main.c.

References extMutex_initialized, INIT_MUTEX, LOCK, and rfbExtensionHead.

Referenced by rfbNewTCPOrUDPClient(), rfbProcessArguments(), rfbProcessClientNormalMessage(), and rfbUsage().

Here is the caller graph for this function:

◆ rfbGetScreen()

rfbScreenInfoPtr rfbGetScreen ( int argc,
char **  argv,
int  width,
int  height,
int  bitsPerSample,
int  samplesPerPixel,
int  bytesPerPixel 
)

Definition at line 793 of file main.c.

References _rfbScreenInfo::alwaysShared, argc, argv, _rfbScreenInfo::authPasswdData, _rfbScreenInfo::authPasswdFirstViewOnly, _rfbScreenInfo::autoPort, _rfbScreenInfo::bitsPerPixel, _rfbScreenInfo::clientHead, _rfbScreenInfo::cursor, _rfbScreenInfo::cursorX, _rfbScreenInfo::cursorY, _rfbScreenInfo::deferUpdateTime, _rfbScreenInfo::depth, _rfbScreenInfo::desktopName, _rfbScreenInfo::displayFinishedHook, _rfbScreenInfo::displayHook, _rfbScreenInfo::dontConvertRichCursorToXCursor, _rfbScreenInfo::dontDisconnect, FALSE, _rfbScreenInfo::getCursorPtr, _rfbScreenInfo::getKeyboardLedStateHook, _rfbScreenInfo::handleEventsEagerly, _rfbScreenInfo::height, _rfbScreenInfo::httpDir, _rfbScreenInfo::httpEnableProxyConnect, _rfbScreenInfo::httpInitDone, _rfbScreenInfo::httpListenSock, _rfbScreenInfo::httpPort, _rfbScreenInfo::httpSock, IF_PTHREADS, _rfbScreenInfo::ignoreSIGPIPE, _rfbScreenInfo::inetdInitDone, _rfbScreenInfo::inetdSock, INIT_MUTEX, _rfbScreenInfo::kbdAddEvent, _rfbScreenInfo::kbdReleaseAllKeys, _rfbScreenInfo::listenInterface, _rfbScreenInfo::listenSock, logMutex_initialized, _rfbScreenInfo::maxFd, _rfbScreenInfo::maxRectsPerUpdate, myCursor, _rfbScreenInfo::neverShared, _rfbScreenInfo::newClientHook, _rfbScreenInfo::paddedWidthInBytes, _rfbScreenInfo::passwordCheck, _rfbScreenInfo::permitFileTransfer, _rfbScreenInfo::pointerClient, _rfbScreenInfo::port, _rfbScreenInfo::progressiveSliceHeight, _rfbScreenInfo::protocolMajorVersion, _rfbScreenInfo::protocolMinorVersion, _rfbScreenInfo::ptrAddEvent, RFB_SOCKET_INIT, rfbClientListInit(), rfbDefaultGetCursorPtr(), rfbDefaultKbdAddEvent(), rfbDefaultNewClientHook(), rfbDefaultPasswordCheck(), rfbDefaultPtrAddEvent(), rfbDefaultSetXCutText(), rfbDoNothingWithClient(), rfbErr, rfbInitServerFormat(), rfbProcessArguments(), rfbProtocolMajorVersion, rfbProtocolMinorVersion, rfbSetTranslateFunction(), screen, _rfbScreenInfo::setTranslateFunction, _rfbScreenInfo::setXCutText, _rfbScreenInfo::socketState, _rfbScreenInfo::thisHost, TRUE, _rfbScreenInfo::udpClient, _rfbScreenInfo::udpPort, _rfbScreenInfo::udpSock, _rfbScreenInfo::udpSockConnected, _rfbScreenInfo::underCursorBuffer, _rfbScreenInfo::underCursorBufferLen, _rfbScreenInfo::width, and _rfbScreenInfo::xvpHook.

Referenced by initialize_screen().

Here is the caller graph for this function:

◆ rfbGotXCutText()

void rfbGotXCutText ( rfbScreenInfoPtr  rfbScreen,
char *  str,
int  len 
)

Definition at line 35 of file cutpaste.c.

References rfbSendServerCutText().

◆ rfbHttpCheckFds()

void rfbHttpCheckFds ( rfbScreenInfoPtr  rfbScreen)

◆ rfbHttpInitSockets()

◆ rfbHttpShutdownSockets()

void rfbHttpShutdownSockets ( rfbScreenInfoPtr  rfbScreen)

Definition at line 131 of file httpd.c.

References _rfbScreenInfo::allFds, and _rfbScreenInfo::httpSock.

Referenced by rfbShutdownServer().

Here is the caller graph for this function:

◆ rfbIncrClientRef()

void rfbIncrClientRef ( rfbClientPtr  cl)

Definition at line 108 of file rfbserver.c.

Referenced by rfbClientIteratorHead(), and rfbClientIteratorNext().

Here is the caller graph for this function:

◆ rfbInitServer()

void rfbInitServer ( rfbScreenInfoPtr  rfbScreen)

Definition at line 1029 of file main.c.

References _rfbScreenInfo::ignoreSIGPIPE, rfbHttpInitSockets(), rfbInitSockets(), and screen.

◆ rfbInitSockets()

◆ rfbIsActive()

rfbBool rfbIsActive ( rfbScreenInfoPtr  screenInfo)

Definition at line 1144 of file main.c.

References _rfbScreenInfo::clientHead, RFB_SOCKET_SHUTDOWN, and _rfbScreenInfo::socketState.

Referenced by rfbRunEventLoop().

Here is the caller graph for this function:

◆ rfbListenOnTCPPort()

int rfbListenOnTCPPort ( int  port,
in_addr_t  iface 
)

Definition at line 613 of file sockets.c.

References closesocket.

Referenced by listen_tcp(), rfbHttpInitSockets(), and rfbInitSockets().

Here is the caller graph for this function:

◆ rfbListenOnUDPPort()

int rfbListenOnUDPPort ( int  port,
in_addr_t  iface 
)

Definition at line 767 of file sockets.c.

Referenced by rfbInitSockets().

Here is the caller graph for this function:

◆ rfbListenOnUnixSocket()

int rfbListenOnUnixSocket ( char *  file,
rfbScreenInfoPtr  rfbScreen 
)

◆ rfbLoadConsoleFont()

rfbFontDataPtr rfbLoadConsoleFont ( char *  filename)

dynamically load a linux console font (4096 bytes, 256 glyphs a 8x16

Definition at line 164 of file font.c.

References rfbFontData::data, and rfbFontData::metaData.

◆ rfbLogEnable()

◆ rfbLogPerror()

void rfbLogPerror ( const char *  str)

Definition at line 262 of file main.c.

References rfbErr.

Referenced by accept_openssl(), accept_unix(), appendfile(), check_access(), check_connect_file(), check_ipv6_listen(), check_unix_sock(), check_unixpw_userprefs(), connect_tcp(), console_guess(), create_tmp_pem(), do_run_cmd(), get_Cert_dir(), get_input(), get_pty_ptmx(), get_ssl_verify_file(), getsslscript(), httpProcessInput(), initialize_pipeinput(), initialize_raw_fb(), initialize_remap(), initialize_screen(), initialize_uinput(), listen6(), listen_tcp(), listen_unix(), load_tslib_cal(), open_dev(), parse_str(), parse_uinput_str(), process_remote_cmd(), read_passwds(), rfbAcceptUnixSocket(), rfbAuthProcessClientMessage(), rfbCheckFds(), rfbClientConnFailed(), rfbClientSendString(), rfbConnect(), rfbHttpCheckFds(), rfbHttpInitSockets(), rfbInitSockets(), rfbListenOnUnixSocket(), rfbNewTCPOrUDPClient(), rfbNewUDPConnection(), rfbProcessClientAuthType(), rfbProcessClientInitMessage(), rfbProcessClientNormalMessage(), rfbProcessClientProtocolVersion(), rfbProcessClientSecurityType(), rfbProcessFileTransfer(), rfbProcessFileTransferReadBuffer(), rfbProcessUDPInput(), rfbReadExactTimeout(), rfbSendAuthCaps(), rfbSendBell(), rfbSendFileTransferMessage(), rfbSendInteractionCaps(), rfbSendNewScaleSize(), rfbSendSecurityType(), rfbSendSecurityTypeList(), rfbSendServerCutText(), rfbSendSetColourMapEntries(), rfbSendTunnelingCaps(), rfbSendUpdateBuf(), rfbSendXvp(), rfbSetClientColourMapBGR233(), rfbSetNonBlocking(), rfbSetTcpNoDelay(), rfbVncAuthNone(), rfbVncAuthSendChallenge(), rfbWriteExact(), run_user_command(), shm_create(), spawn_grab_buster(), sslEncKey(), su_verify(), switch_user_env(), try_avahi_helper(), and try_user_and_display().

◆ rfbMakeMaskForXCursor()

char* rfbMakeMaskForXCursor ( int  width,
int  height,
char *  cursorString 
)

Definition at line 285 of file cursor.c.

References j.

Referenced by rfbMakeXCursor().

Here is the caller graph for this function:

◆ rfbMakeMaskFromAlphaSource()

char* rfbMakeMaskFromAlphaSource ( int  width,
int  height,
unsigned char *  alphaSource 
)

Definition at line 310 of file cursor.c.

References j.

◆ rfbMakeRichCursorFromXCursor()

◆ rfbMakeXCursor()

rfbCursorPtr rfbMakeXCursor ( int  width,
int  height,
char *  cursorString,
char *  maskString 
)

◆ rfbMakeXCursorFromRichCursor()

◆ rfbMarkRectAsModified()

void rfbMarkRectAsModified ( rfbScreenInfoPtr  rfbScreen,
int  x1,
int  y1,
int  x2,
int  y2 
)

◆ rfbMarkRegionAsModified()

void rfbMarkRegionAsModified ( rfbScreenInfoPtr  rfbScreen,
sraRegionPtr  modRegion 
)

Definition at line 399 of file main.c.

References cl, LOCK, _rfbClientRec::modifiedRegion, rfbClientIteratorNext(), rfbGetClientIterator(), rfbReleaseClientIterator(), screen, sraRgnOr(), TSIGNAL, and UNLOCK.

Referenced by rfbMarkRectAsModified().

Here is the caller graph for this function:

◆ rfbNewClient()

rfbClientPtr rfbNewClient ( rfbScreenInfoPtr  rfbScreen,
int  sock 
)

Definition at line 459 of file rfbserver.c.

References FALSE, and rfbNewTCPOrUDPClient().

Referenced by check_ipv6_listen(), create_new_client(), rfbCheckFds(), rfbNewClientConnection(), and rfbReverseConnection().

Here is the caller graph for this function:

◆ rfbNewClientConnection()

void rfbNewClientConnection ( rfbScreenInfoPtr  rfbScreen,
int  sock 
)

Definition at line 210 of file rfbserver.c.

References cl, and rfbNewClient().

Referenced by httpProcessInput(), and rfbCheckFds().

Here is the caller graph for this function:

◆ rfbNewFramebuffer()

◆ rfbNewUDPClient()

rfbClientPtr rfbNewUDPClient ( rfbScreenInfoPtr  rfbScreen)

Definition at line 466 of file rfbserver.c.

References rfbNewTCPOrUDPClient(), TRUE, _rfbScreenInfo::udpClient, and _rfbScreenInfo::udpSock.

Referenced by rfbCheckFds().

Here is the caller graph for this function:

◆ rfbNewUDPConnection()

void rfbNewUDPConnection ( rfbScreenInfoPtr  rfbScreen,
int  sock 
)

Definition at line 3271 of file rfbserver.c.

References ptrAcceleration, and rfbLogPerror().

Referenced by rfbCheckFds().

Here is the caller graph for this function:

◆ rfbPrintStats()

◆ rfbProcessArguments()

◆ rfbProcessClientMessage()

void rfbProcessClientMessage ( rfbClientPtr  cl)

◆ rfbProcessClientSecurityType()

void rfbProcessClientSecurityType ( rfbClientPtr  cl)

Definition at line 300 of file auth.c.

References cl, _rfbSecurity::handler, _rfbSecurity::next, rfbCloseClient(), rfbLog, rfbLogPerror(), rfbReadExact(), securityHandlers, and _rfbSecurity::type.

Referenced by rfbProcessClientMessage().

Here is the caller graph for this function:

◆ rfbProcessEvents()

◆ rfbProcessFileTransfer()

◆ rfbProcessFileTransferReadBuffer()

char* rfbProcessFileTransferReadBuffer ( rfbClientPtr  cl,
uint32_t  length 
)

Definition at line 1299 of file rfbserver.c.

References cl, FILEXFER_ALLOWED_OR_CLOSE_AND_RETURN, rfbCloseClient(), rfbLogPerror(), and rfbReadExact().

Referenced by rfbProcessFileTransfer().

Here is the caller graph for this function:

◆ rfbProcessSizeArguments()

rfbBool rfbProcessSizeArguments ( int width,
int height,
int bpp,
int argc,
char *  argv[] 
)

Definition at line 191 of file cargs.c.

References argc, argv, bpp, rfbPurgeArguments(), and TRUE.

◆ rfbProcessUDPInput()

◆ rfbPurgeArguments()

void rfbPurgeArguments ( int argc,
int position,
int  count,
char *  argv[] 
)

Definition at line 58 of file cargs.c.

References argv.

Referenced by rfbProcessArguments(), and rfbProcessSizeArguments().

Here is the caller graph for this function:

◆ rfbReadExact()

◆ rfbReadExactTimeout()

int rfbReadExactTimeout ( rfbClientPtr  cl,
char *  buf,
int  len,
int  timeout 
)

Definition at line 441 of file sockets.c.

References buf, cl, rfbLog, rfbLogPerror(), and _rfbClientRec::sock.

Referenced by rfbReadExact().

Here is the caller graph for this function:

◆ rfbRefuseOnHoldClient()

void rfbRefuseOnHoldClient ( rfbClientPtr  cl)

Definition at line 608 of file main.c.

References cl, rfbClientConnectionGone(), and rfbCloseClient().

◆ rfbRegisterProtocolExtension()

void rfbRegisterProtocolExtension ( rfbProtocolExtension extension)

◆ rfbRegisterSecurityHandler()

void rfbRegisterSecurityHandler ( rfbSecurityHandler handler)

Definition at line 49 of file auth.c.

References _rfbSecurity::next, rfbRegisterSecurityHandler(), and securityHandlers.

Referenced by rfbRegisterSecurityHandler(), rfbRegisterTightVNCFileTransferExtension(), and rfbSendSecurityTypeList().

Here is the caller graph for this function:

◆ rfbRegisterTightVNCFileTransferExtension()

void rfbRegisterTightVNCFileTransferExtension ( )

◆ rfbReleaseClientIterator()

◆ rfbReleaseExtensionIterator()

void rfbReleaseExtensionIterator ( )

Definition at line 157 of file main.c.

References UNLOCK.

Referenced by rfbNewTCPOrUDPClient(), rfbProcessArguments(), rfbProcessClientNormalMessage(), and rfbUsage().

Here is the caller graph for this function:

◆ rfbResetStats()

void rfbResetStats ( rfbClientPtr  cl)

Definition at line 355 of file stats.c.

References cl, _rfbStatList::Next, _rfbClientRec::statEncList, and _rfbClientRec::statMsgList.

Referenced by rfbNewTCPOrUDPClient().

Here is the caller graph for this function:

◆ rfbReverseConnection()

rfbClientPtr rfbReverseConnection ( rfbScreenInfoPtr  rfbScreen,
char *  host,
int  port 
)

Definition at line 225 of file rfbserver.c.

References cl, _rfbClientRec::reverseConnection, rfbConnect(), rfbNewClient(), and TRUE.

Referenced by do_reverse_connect().

Here is the caller graph for this function:

◆ rfbRunEventLoop()

void rfbRunEventLoop ( rfbScreenInfoPtr  screenInfo,
long  usec,
rfbBool  runInBackground 
)

Definition at line 1148 of file main.c.

References _rfbScreenInfo::deferUpdateTime, rfbErr, rfbIsActive(), rfbProcessEvents(), screen, and TRUE.

Referenced by wait_for_client(), and watch_loop().

Here is the caller graph for this function:

◆ rfbScheduleCopyRect()

void rfbScheduleCopyRect ( rfbScreenInfoPtr  rfbScreen,
int  x1,
int  y1,
int  x2,
int  y2,
int  dx,
int  dy 
)

Definition at line 392 of file main.c.

References rfbScheduleCopyRegion(), screen, sraRgnCreateRect(), and sraRgnDestroy().

◆ rfbScheduleCopyRegion()

◆ rfbScreenCleanup()

◆ rfbSelectBox()

◆ rfbSendBell()

◆ rfbSendCopyRegion()

◆ rfbSendCursorPos()

◆ rfbSendCursorShape()

◆ rfbSendDirContent()

rfbBool rfbSendDirContent ( rfbClientPtr  cl,
int  length,
char *  buffer 
)

◆ rfbSendFileTransferChunk()

◆ rfbSendFileTransferMessage()

◆ rfbSendFramebufferUpdate()

rfbBool rfbSendFramebufferUpdate ( rfbClientPtr  cl,
sraRegionPtr  updateRegion 
)

Definition at line 2472 of file rfbserver.c.

References cl, _rfbClientRec::copyDX, _rfbClientRec::copyDY, _rfbClientRec::copyRegion, _rfbClientRec::correMaxHeight, _rfbClientRec::correMaxWidth, _rfbClientRec::cursorWasChanged, _rfbClientRec::cursorWasMoved, _rfbScreenInfo::cursorX, _rfbClientRec::cursorX, _rfbScreenInfo::cursorY, _rfbClientRec::cursorY, _rfbScreenInfo::displayFinishedHook, _rfbScreenInfo::displayHook, _rfbClientRec::enableCursorPosUpdates, _rfbClientRec::enableCursorShapeUpdates, _rfbClientRec::enableKeyboardLedState, _rfbClientRec::enableServerIdentity, _rfbClientRec::enableSupportedEncodings, _rfbClientRec::enableSupportedMessages, FALSE, _rfbScreenInfo::getKeyboardLedStateHook, _rfbScreenInfo::height, _rfbClientRec::lastKeyboardLedState, LIBVNCSERVER_HAVE_LIBJPEG, LIBVNCSERVER_HAVE_LIBZ, LOCK, _rfbScreenInfo::maxRectsPerUpdate, _rfbClientRec::modifiedRegion, _rfbClientRec::newFBSizePending, rfbFramebufferUpdateMsg::nRects, _rfbClientRec::preferredEncoding, _rfbScreenInfo::progressiveSliceHeight, _rfbClientRec::progressiveSliceY, _rfbClientRec::readyForSetColourMapEntries, _rfbClientRec::requestedRegion, rfbEncodingCoRRE, rfbEncodingHextile, rfbEncodingRaw, rfbEncodingRRE, rfbEncodingTight, rfbEncodingUltra, rfbEncodingZlib, rfbEncodingZRLE, rfbEncodingZYWRLE, rfbFramebufferUpdate, rfbHideCursor(), rfbNumCodedRectsTight(), rfbRedrawAfterHideCursor(), rfbScaledCorrection(), rfbSendCopyRegion(), rfbSendCursorPos(), rfbSendCursorShape(), rfbSendKeyboardLedState(), rfbSendLastRectMarker(), rfbSendNewFBSize(), rfbSendRectEncodingCoRRE(), rfbSendRectEncodingHextile(), rfbSendRectEncodingRaw(), rfbSendRectEncodingRRE(), rfbSendRectEncodingTight(), rfbSendRectEncodingUltra(), rfbSendRectEncodingZlib(), rfbSendRectEncodingZRLE(), rfbSendServerIdentity(), rfbSendSupportedEncodings(), rfbSendSupportedMessages(), rfbSendUpdateBuf(), rfbShowCursor(), rfbStatRecordMessageSent(), _rfbClientRec::scaledScreen, _rfbClientRec::screen, sraRgnAnd(), sraRgnBBox(), sraRgnCountRects(), sraRgnCreateRect(), sraRgnCreateRgn(), sraRgnDestroy(), sraRgnEmpty(), sraRgnGetIterator(), sraRgnIteratorNext(), sraRgnMakeEmpty(), sraRgnOffset(), sraRgnOr(), sraRgnPopRect(), sraRgnReleaseIterator(), sraRgnSubtract(), Swap16IfLE, sz_rfbFramebufferUpdateMsg, TRUE, rfbFramebufferUpdateMsg::type, _rfbClientRec::ublen, ULTRA_MAX_SIZE, UNLOCK, _rfbClientRec::updateBuf, _rfbClientRec::useNewFBSize, _rfbScreenInfo::width, _rect::x1, _rect::x2, _rect::y1, and _rect::y2.

Referenced by fb_push(), and rfbProcessEvents().

Here is the caller graph for this function:

◆ rfbSendLastRectMarker()

◆ rfbSendNewFBSize()

◆ rfbSendRectEncodingCoRRE()

rfbBool rfbSendRectEncodingCoRRE ( rfbClientPtr  cl,
int  x,
int  y,
int  w,
int  h 
)

Definition at line 71 of file corre.c.

References cl, _rfbClientRec::correMaxHeight, _rfbClientRec::correMaxWidth, rfbSendRectEncodingCoRRE(), rfbSendSmallRectEncodingCoRRE(), and TRUE.

Referenced by rfbSendFramebufferUpdate(), and rfbSendRectEncodingCoRRE().

Here is the caller graph for this function:

◆ rfbSendRectEncodingHextile()

◆ rfbSendRectEncodingRaw()

◆ rfbSendRectEncodingRRE()

◆ rfbSendRectEncodingUltra()

rfbBool rfbSendRectEncodingUltra ( rfbClientPtr  cl,
int  x,
int  y,
int  w,
int  h 
)

Definition at line 178 of file ultra.c.

References cl, FALSE, rfbRectangle::h, rfbSendOneRectEncodingUltra(), rfbSendUpdateBuf(), TRUE, _rfbClientRec::ublen, ULTRA_MAX_SIZE, rfbRectangle::w, rfbRectangle::x, and rfbRectangle::y.

Referenced by rfbSendFramebufferUpdate().

Here is the caller graph for this function:

◆ rfbSendServerCutText()

◆ rfbSendSetColourMapEntries()

◆ rfbSendTextChatMessage()

rfbBool rfbSendTextChatMessage ( rfbClientPtr  cl,
uint32_t  length,
char *  buffer 
)

send a TextChat message to a client

Definition at line 1068 of file rfbserver.c.

References cl, FALSE, rfbSendUpdateBuf(), rfbStatRecordMessageSent(), rfbTextChat, rfbTextChatClose, rfbTextChatFinished, rfbTextChatOpen, rfbTextMaxSize, Swap32IfLE, sz_rfbTextChatMsg, TRUE, _rfbClientRec::ublen, UPDATE_BUF_SIZE, and _rfbClientRec::updateBuf.

Referenced by set_text_chat().

Here is the caller graph for this function:

◆ rfbSendUpdateBuf()