Defines | Functions | Variables

libvncclient/rfbproto.c File Reference

#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <pwd.h>
#include <errno.h>
#include <rfb/rfbclient.h>
#include <stdarg.h>
#include <time.h>
#include "minilzo.h"
#include "tls.h"
#include "rre.c"
#include "corre.c"
#include "hextile.c"
#include "ultra.c"
#include "zlib.c"
#include "tight.c"
#include "zrle.c"
#include "rre.c"
#include "corre.c"
#include "hextile.c"
#include "ultra.c"
#include "zlib.c"
#include "tight.c"
#include "zrle.c"
#include "vncauth.c"
#include "d3des.c"
Include dependency graph for rfbproto.c:

Go to the source code of this file.

Defines

#define FILL_RECT(BPP)
#define COPY_RECT(BPP)
#define COPY_RECT_FROM_RECT(BPP)
#define rfbAddM64(x, y, m)   ((x+y)%m+(x+y<x?(((uint64_t)-1)%m+1)%m:0))
#define GET_PIXEL8(pix, ptr)   ((pix) = *(ptr)++)
#define GET_PIXEL16(pix, ptr)
#define GET_PIXEL32(pix, ptr)
#define CONCAT2(a, b)   a##b
#define CONCAT2E(a, b)   CONCAT2(a,b)
#define CONCAT3(a, b, c)   a##b##c
#define CONCAT3E(a, b, c)   CONCAT3(a,b,c)
#define BPP   8
#define BPP   16
#define REALBPP   15
#define BPP   32
#define REALBPP   24
#define REALBPP   24
#define UNCOMP   8
#define REALBPP   24
#define UNCOMP   -8
#define rfbEncryptBytes   rfbClientEncryptBytes
#define rfbEncryptBytes2   rfbClientEncryptBytes2
#define rfbDes   rfbClientDes
#define rfbDesKey   rfbClientDesKey
#define rfbUseKey   rfbClientUseKey
#define rfbCPKey   rfbClientCPKey

Functions

void rfbClientRegisterExtension (rfbClientProtocolExtension *e)
void rfbClientSetClientData (rfbClient *client, void *tag, void *data)
 Associates a client data tag with the given pointer.
void * rfbClientGetClientData (rfbClient *client, void *tag)
 Returns a pointer to the client data associated with the given tag.
rfbBool SupportsClient2Server (rfbClient *client, int messageType)
rfbBool SupportsServer2Client (rfbClient *client, int messageType)
void SetClient2Server (rfbClient *client, int messageType)
void SetServer2Client (rfbClient *client, int messageType)
void ClearClient2Server (rfbClient *client, int messageType)
void ClearServer2Client (rfbClient *client, int messageType)
void DefaultSupportedMessages (rfbClient *client)
void DefaultSupportedMessagesUltraVNC (rfbClient *client)
void DefaultSupportedMessagesTightVNC (rfbClient *client)
rfbBool ConnectToRFBServer (rfbClient *client, const char *hostname, int port)
rfbBool ConnectToRFBRepeater (rfbClient *client, const char *repeaterHost, int repeaterPort, const char *destHost, int destPort)
void rfbClientEncryptBytes (unsigned char *bytes, char *passwd)
void rfbClientEncryptBytes2 (unsigned char *where, const int length, unsigned char *key)
rfbBool rfbHandleAuthResult (rfbClient *client)
void SetClientAuthSchemes (rfbClient *client, const uint32_t *authSchemes, int size)
rfbBool InitialiseRFBConnection (rfbClient *client)
rfbBool SetFormatAndEncodings (rfbClient *client)
 Sends format and encoding parameters to the server.
rfbBool SendIncrementalFramebufferUpdateRequest (rfbClient *client)
rfbBool SendFramebufferUpdateRequest (rfbClient *client, int x, int y, int w, int h, rfbBool incremental)
 Sends a framebuffer update request to the server.
rfbBool SendScaleSetting (rfbClient *client, int scaleSetting)
rfbBool TextChatSend (rfbClient *client, char *text)
 Sends a text chat message to the server.
rfbBool TextChatOpen (rfbClient *client)
 Opens a text chat window on the server.
rfbBool TextChatClose (rfbClient *client)
 Closes the text chat window on the server.
rfbBool TextChatFinish (rfbClient *client)
rfbBool PermitServerInput (rfbClient *client, int enabled)
rfbBool SendXvpMsg (rfbClient *client, uint8_t version, uint8_t code)
rfbBool SendPointerEvent (rfbClient *client, int x, int y, int buttonMask)
 Sends a pointer event to the server.
rfbBool SendKeyEvent (rfbClient *client, uint32_t key, rfbBool down)
 Sends a key event to the server.
rfbBool SendClientCutText (rfbClient *client, char *str, int len)
 Places a string on the server's clipboard.
rfbBool HandleRFBServerMessage (rfbClient *client)
 Handles messages from the RFB server.
void PrintPixelFormat (rfbPixelFormat *format)

Variables

rfbBool rfbEnableClientLogging = TRUE
rfbClientLogProc rfbClientLog = rfbDefaultClientLog
rfbClientLogProc rfbClientErr = rfbDefaultClientLog
rfbClientProtocolExtensionrfbClientExtensions = NULL

Define Documentation

#define BPP   8
Examples:
camera.c.

Definition at line 2345 of file rfbproto.c.

#define BPP   16

Definition at line 2345 of file rfbproto.c.

#define BPP   32

Definition at line 2345 of file rfbproto.c.

#define CONCAT2 (   a,
  b 
)    a##b

Definition at line 2320 of file rfbproto.c.

#define CONCAT2E (   a,
  b 
)    CONCAT2(a,b)

Definition at line 2321 of file rfbproto.c.

#define CONCAT3 (   a,
  b,
  c 
)    a##b##c

Definition at line 2322 of file rfbproto.c.

#define CONCAT3E (   a,
  b,
  c 
)    CONCAT3(a,b,c)

Definition at line 2323 of file rfbproto.c.

#define COPY_RECT (   BPP  ) 
Value:
{ \
    int rs = w * BPP / 8, rs2 = client->width * BPP / 8; \
    for (j = ((x * (BPP / 8)) + (y * rs2)); j < (y + h) * rs2; j += rs2) { \
      memcpy(client->frameBuffer + j, buffer, rs); \
      buffer += rs; \
    } \
  }
#define COPY_RECT_FROM_RECT (   BPP  ) 
Value:
{ \
    uint##BPP##_t* _buffer=((uint##BPP##_t*)client->frameBuffer)+(src_y-dest_y)*client->width+src_x-dest_x; \
    if (dest_y < src_y) { \
      for(j = dest_y*client->width; j < (dest_y+h)*client->width; j += client->width) { \
        if (dest_x < src_x) { \
          for(i = dest_x; i < dest_x+w; i++) { \
            ((uint##BPP##_t*)client->frameBuffer)[j+i]=_buffer[j+i]; \
          } \
        } else { \
          for(i = dest_x+w-1; i >= dest_x; i--) { \
            ((uint##BPP##_t*)client->frameBuffer)[j+i]=_buffer[j+i]; \
          } \
        } \
      } \
    } else { \
      for(j = (dest_y+h-1)*client->width; j >= dest_y*client->width; j-=client->width) { \
        if (dest_x < src_x) { \
          for(i = dest_x; i < dest_x+w; i++) { \
            ((uint##BPP##_t*)client->frameBuffer)[j+i]=_buffer[j+i]; \
          } \
        } else { \
          for(i = dest_x+w-1; i >= dest_x; i--) { \
            ((uint##BPP##_t*)client->frameBuffer)[j+i]=_buffer[j+i]; \
          } \
        } \
      } \
    } \
  }
#define FILL_RECT (   BPP  ) 
Value:
for(j=y*client->width;j<(y+h)*client->width;j+=client->width) \
      for(i=x;i<x+w;i++) \
        ((uint##BPP##_t*)client->frameBuffer)[j+i]=colour;
#define GET_PIXEL16 (   pix,
  ptr 
)
Value:
(((uint8_t*)&(pix))[0] = *(ptr)++, \
                               ((uint8_t*)&(pix))[1] = *(ptr)++)

Definition at line 2309 of file rfbproto.c.

#define GET_PIXEL32 (   pix,
  ptr 
)
Value:
(((uint8_t*)&(pix))[0] = *(ptr)++, \
                               ((uint8_t*)&(pix))[1] = *(ptr)++, \
                               ((uint8_t*)&(pix))[2] = *(ptr)++, \
                               ((uint8_t*)&(pix))[3] = *(ptr)++)

Definition at line 2312 of file rfbproto.c.

#define GET_PIXEL8 (   pix,
  ptr 
)    ((pix) = *(ptr)++)

Definition at line 2307 of file rfbproto.c.

#define REALBPP   24

Definition at line 2358 of file rfbproto.c.

#define REALBPP   24

Definition at line 2358 of file rfbproto.c.

#define REALBPP   24

Definition at line 2358 of file rfbproto.c.

#define REALBPP   15

Definition at line 2358 of file rfbproto.c.

#define rfbAddM64 (   x,
  y,
  m 
)    ((x+y)%m+(x+y<x?(((uint64_t)-1)%m+1)%m:0))

Definition at line 720 of file rfbproto.c.

#define rfbCPKey   rfbClientCPKey

Definition at line 2400 of file rfbproto.c.

#define rfbDes   rfbClientDes

Definition at line 2397 of file rfbproto.c.

#define rfbDesKey   rfbClientDesKey

Definition at line 2398 of file rfbproto.c.

#define rfbEncryptBytes   rfbClientEncryptBytes

Definition at line 2395 of file rfbproto.c.

#define rfbEncryptBytes2   rfbClientEncryptBytes2

Definition at line 2396 of file rfbproto.c.

#define rfbUseKey   rfbClientUseKey

Definition at line 2399 of file rfbproto.c.

#define UNCOMP   8

Definition at line 2359 of file rfbproto.c.

#define UNCOMP   -8

Definition at line 2359 of file rfbproto.c.


Function Documentation

void ClearClient2Server ( rfbClient client,
int  messageType 
)

Definition at line 290 of file rfbproto.c.

void ClearServer2Client ( rfbClient client,
int  messageType 
)

Definition at line 296 of file rfbproto.c.

void DefaultSupportedMessages ( rfbClient client  ) 

Definition at line 303 of file rfbproto.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void DefaultSupportedMessagesTightVNC ( rfbClient client  ) 

Definition at line 343 of file rfbproto.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void DefaultSupportedMessagesUltraVNC ( rfbClient client  ) 

Definition at line 325 of file rfbproto.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void rfbClientEncryptBytes ( unsigned char *  bytes,
char *  passwd 
)
void rfbClientEncryptBytes2 ( unsigned char *  where,
const int  length,
unsigned char *  key 
)
rfbBool rfbHandleAuthResult ( rfbClient client  ) 

Definition at line 489 of file rfbproto.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void SetClient2Server ( rfbClient client,
int  messageType 
)

Definition at line 278 of file rfbproto.c.

Here is the caller graph for this function:

void SetServer2Client ( rfbClient client,
int  messageType 
)

Definition at line 284 of file rfbproto.c.

Here is the caller graph for this function:


Variable Documentation

Definition at line 98 of file rfbproto.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines