⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfbproto.h

📁 teamviewer source code vc++
💻 H
📖 第 1 页 / 共 3 页
字号:
} rfbModeChangeMsg;

/*-----------------------------------------------------------------------------
 * TR@2003
 * Client should switch to fullscreen display mode
 * (useful for presentations to inexperienced users)
 */

typedef struct _rfbSetDisplayDimensionsMsg {
    CARD8 type;			/* always rfbSetDisplayDimensions */	
	CARD16 displaysettings;   
	CARD16 visible_x;   /* width of viewer window */
	CARD16 visible_y;
	CARD16 offset_x;    /* number of pixel scrolled left */
	CARD16 offset_y;   
} rfbSetDisplayDimensionsMsg;

#define sz_rfbSetDisplayDimensionsMsg 11



// numbers >100 are server modes, smaller ones clients!
// There MUST be a difference of rfbMC_Servermodes between corresponding modes
#define rfbMC_Servermodes			0x80	
											// Recipient of message (may be active client or server) should now be a 
#define rfbMC_TeamworkClient		0x01		// teamwork client(viewer)
#define rfbMC_TeamworkServer		0x81		// teamwork server
#define rfbMC_PresentationClient	0x02
#define rfbMC_PresentationServer	0x82
#define rfbMC_RemotecontrolClient	0x03
#define rfbMC_RemotecontrolServer	0x83
#define rfbMC_FiletransferClient	0x04
#define rfbMC_FiletransferServer	0x84

#define sz_rfbModeChangeMsg 4


/*-----------------------------------------------------------------------------
 * Copyright (C) 2001 Harakan Software
 * PalmVNC 1.4 & 2.? ResizeFrameBuffer message
 * ReSizeFrameBuffer - tell the RFB client to alter its framebuffer, either
 * due to a resize of the server desktop or a client-requested scaling factor.
 * The pixel format remains unchanged.
 */

typedef struct {
    CARD8 type;			/* always rfbReSizeFrameBuffer */
	CARD8 pad1;
	CARD16 desktop_w;	/* Desktop width */
	CARD16 desktop_h;	/* Desktop height */
	CARD16 buffer_w;	/* FrameBuffer width */
	CARD16 buffer_h;	/* Framebuffer height */
    CARD16 pad2;

} rfbPalmVNCReSizeFrameBufferMsg;

#define sz_rfbPalmVNCReSizeFrameBufferMsg (12)


/*-----------------------------------------------------------------------------
 * TeamviewerInfo - transmit additional information from client to server
 *                  or vice versa
 * This message consists of a header giving the length of all messages
 * followed by the messages themselves. Each message consists of 1 byte
 * message ID, 4 byte message length and the message
 *   Message-ID 1-127, followed by length and string -> transmit local settings to partner
 *   Message-ID 128-255                              -> request for partners settings
 */
typedef struct {
	CARD8 type;				/* always rfbTeamviewerInfo */
	CARD8 pad;
	CARD16 pad2;
	CARD32 len;
	/* followed by len Bytes */
} rfbTeamviewerInfoMsg;
#define sz_rfbTeamviewerInfoMsg 8

typedef struct {
    CARD16 tvMessageID;
	CARD16 pad;
	CARD32 tvlen;
} tvMessage;
#define sz_tvMessage 8

// Teamviewer Messages
#define tvVersion			1			/* Teamviewer version */
#define tvID				2			/* Dyngate-ID of partner */
#define tvMode				3			/* Teamviewer mode: Remote Control, Presentation, Teamwork */
#define tvIdentity			4			/* Users name */
#define tvError				5			/* Custom error message */
#define tvAllowPointer		6			/* server to client: Allow client to send special pointer positions */
#define tvDisplayPointer	7			/* client to server: send special pointer positions */
#define tvRunningAsService	8			/* server to client: is server running as windows-service? */
#define tvRemoveWallpaper	9			/* client to server: remove servers wallpaper */
#define tvBlankMonitor		10			/* client to server: turn servers monitor off (only if serverinput is disabled)*/
#define tvChangeEncoding	11			/* server to client: set encoding and colorsfor presentations. Format "%d,%d" */
#define tvSecureDesktop		12			/* server to client: TRUE = changed to secured desktop, FALSE = leave secure desktop */

#define tvSendAll   0x7fff		/* Send *all* available messages */
#define tvRequest(x) (x + 0x8000)

/*-----------------------------------------------------------------------------
 * Union of all server->client messages.
 */

typedef union {
    CARD8 type;
    rfbFramebufferUpdateMsg fu;
    rfbSetColourMapEntriesMsg scme;
    rfbBellMsg b;
    rfbServerCutTextMsg sct;
	rfbResizeFrameBufferMsg rsfb;
	rfbPalmVNCReSizeFrameBufferMsg prsfb; 
	rfbFileTransferMsg ft;
	rfbTextChatMsg tc;
	rfbModeChangeMsg mchange;
	rfbSetDisplayDimensionsMsg sdim;
	rfbTeamviewerInfoMsg tvinfo;
} rfbServerToClientMsg;


/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 * RDV Cache Encoding.  
 * special is not used at this point, can be used to reset cache or other specials
 * just put it to make sure we don't have to change the encoding again.  
 */

typedef struct {
    CARD16 special;
} rfbCacheRect;

#define sz_rfbCacheRect 2





/*****************************************************************************
 *
 * Message definitions (client -> server)
 *
 *****************************************************************************/


/*-----------------------------------------------------------------------------
 * SetPixelFormat - tell the RFB server the format in which the client wants
 * pixels sent.
 */

typedef struct {
    CARD8 type;			/* always rfbSetPixelFormat */
    CARD8 pad1;
    CARD16 pad2;
    rfbPixelFormat format;
} rfbSetPixelFormatMsg;

#define sz_rfbSetPixelFormatMsg (sz_rfbPixelFormat + 4)


/*-----------------------------------------------------------------------------
 * FixColourMapEntries - when the pixel format uses a "colour map", fix
 * read-only colour map entries.
 *
 *    ***************** NOT CURRENTLY SUPPORTED *****************
 */

typedef struct {
    CARD8 type;			/* always rfbFixColourMapEntries */
    CARD8 pad;
    CARD16 firstColour;
    CARD16 nColours;

    /* Followed by nColours * 3 * CARD16
       r1, g1, b1, r2, g2, b2, r3, g3, b3, ..., rn, bn, gn */

} rfbFixColourMapEntriesMsg;

#define sz_rfbFixColourMapEntriesMsg 6


/*-----------------------------------------------------------------------------
 * SetEncodings - tell the RFB server which encoding types we accept.  Put them
 * in order of preference, if we have any.  We may always receive raw
 * encoding, even if we don't specify it here.
 */

typedef struct {
    CARD8 type;			/* always rfbSetEncodings */
    CARD8 pad;
    CARD16 nEncodings;
    /* followed by nEncodings * CARD32 encoding types */
} rfbSetEncodingsMsg;

#define sz_rfbSetEncodingsMsg 4


/*-----------------------------------------------------------------------------
 * FramebufferUpdateRequest - request for a framebuffer update.  If incremental
 * is true then the client just wants the changes since the last update.  If
 * false then it wants the whole of the specified rectangle.
 */

typedef struct {
    CARD8 type;			/* always rfbFramebufferUpdateRequest */
    CARD8 incremental;
    CARD16 x;
    CARD16 y;
    CARD16 w;
    CARD16 h;
} rfbFramebufferUpdateRequestMsg;

#define sz_rfbFramebufferUpdateRequestMsg 10


/*-----------------------------------------------------------------------------
 * KeyEvent - key press or release
 *
 * Keys are specified using the "keysym" values defined by the X Window System.
 * For most ordinary keys, the keysym is the same as the corresponding ASCII
 * value.  Other common keys are:
 *
 * BackSpace		0xff08
 * Tab			0xff09
 * Return or Enter	0xff0d
 * Escape		0xff1b
 * Insert		0xff63
 * Delete		0xffff
 * Home			0xff50
 * End			0xff57
 * Page Up		0xff55
 * Page Down		0xff56
 * Left			0xff51
 * Up			0xff52
 * Right		0xff53
 * Down			0xff54
 * F1			0xffbe
 * F2			0xffbf
 * ...			...
 * F12			0xffc9
 * Shift		0xffe1
 * Control		0xffe3
 * Meta			0xffe7
 * Alt			0xffe9
 */

typedef struct {
    CARD8 type;			/* always rfbKeyEvent */
    CARD8 down;			/* true if down (press), false if up */
    CARD16 pad;
    CARD32 key;			/* key is specified as an X keysym */
} rfbKeyEventMsg;

#define sz_rfbKeyEventMsg 8


/*-----------------------------------------------------------------------------
 * PointerEvent - mouse/pen move and/or button press.
 */

typedef struct {
    CARD8 type;			/* always rfbPointerEvent */
    CARD8 buttonMask;		/* bits 0-7 are buttons 1-8, 0=up, 1=down */
    CARD16 x;
    CARD16 y;
} rfbPointerEventMsg;

#define rfbButton1Mask 1
#define rfbButton2Mask 2
#define rfbButton3Mask 4
#define rfbButton4Mask 8
#define rfbButton5Mask 16
#define rfbWheelUpMask rfbButton4Mask    // RealVNC 335 method
#define rfbWheelDownMask rfbButton5Mask

#define sz_rfbPointerEventMsg 6



/*-----------------------------------------------------------------------------
 * ClientCutText - the client has new text in its cut buffer.
 */

typedef struct {
    CARD8 type;			/* always rfbClientCutText */
    CARD8 pad1;
    CARD16 pad2;
    CARD32 length;
    /* followed by char text[length] */
} rfbClientCutTextMsg;

#define sz_rfbClientCutTextMsg 8


/*-----------------------------------------------------------------------------
 * sf@2002 - Set Server Scale
 * SetServerScale - Server must change the scale of the client buffer.
 */

typedef struct _rfbSetScaleMsg {
    CARD8 type;			/* always rfbSetScale */
    CARD8 scale;		/* Scale value 1<sv<n */
    CARD16 pad;
} rfbSetScaleMsg;

#define sz_rfbSetScaleMsg 4


/*-----------------------------------------------------------------------------
 * Copyright (C) 2001 Harakan Software
 * PalmVNC 1.4 & 2.? SetScale Factor message 
 * SetScaleFactor - tell the RFB server to alter the scale factor for the
 * client buffer.
 */
typedef struct {
    CARD8 type;			/* always rfbSetScaleFactor */

    CARD8 scale;		/* Scale factor (positive non-zero integer) */
    CARD16 pad2;
} rfbPalmVNCSetScaleFactorMsg;

#define sz_rfbPalmVNCSetScaleFactorMsg (4)


/*-----------------------------------------------------------------------------
 * rdv@2002 - Set input status
 * SetServerInput - Server input is dis/enabled
 */

typedef struct _rfbSetServerInputMsg {
    CARD8 type;			/* always rfbSetScale */
    CARD8 status;		/* Scale value 1<sv<n */
    CARD16 pad;
} rfbSetServerInputMsg;

#define sz_rfbSetServerInputMsg 4

/*-----------------------------------------------------------------------------
 * rdv@2002 - Set SW
 * SetSW - Server SW/full desktop
 */

typedef struct _rfbSetSWMsg {
    CARD8 type;			/* always rfbSetSW */
    CARD8 status;		
    CARD16 x;
    CARD16 y;
} rfbSetSWMsg;

#define sz_rfbSetSWMsg 6


/*-----------------------------------------------------------------------------
 * TR@2003
 * Client should request Full Framebuffer Update
 * (as Server doesn磘 know client磗 display data we have to know the region to send)
 */

typedef struct _rfbPleaseRequestFullUpdateMsg {
    CARD8 type;			/* always rfbPleaseRequestFullUpdate */	
} rfbPleaseRequestFullUpdateMsg;

#define sz_rfbPleaseRequestFullUpdateMsg 1

/*-----------------------------------------------------------------------------
 * TR@2003
 * Tell the server our screen dimensions
 */

typedef struct _rfbDisplayDimensionsMsg {
    CARD8 type;			/* always rfbDisplayDimensions */	
	CARD16 displaysettings;
	CARD16 total_x;	    /* total screen width */
	CARD16 total_y;     
	CARD16 visible_x;   /* width of viewer window */
	CARD16 visible_y;
	CARD16 offset_x;    /* number of pixel scrolled left */
	CARD16 offset_y;   
} rfbDisplayDimensionsMsg;

#define sz_rfbDisplayDimensionsMsg 15


/*-----------------------------------------------------------------------------
 * Union of all client->server messages.
 */

typedef union {
    CARD8 type;
    rfbSetPixelFormatMsg spf;
    rfbFixColourMapEntriesMsg fcme;
    rfbSetEncodingsMsg se;
    rfbFramebufferUpdateRequestMsg fur;
    rfbKeyEventMsg ke;
    rfbPointerEventMsg pe;
    rfbClientCutTextMsg cct;
	rfbSetScaleMsg ssc;
	rfbPalmVNCSetScaleFactorMsg pssf;
	rfbSetServerInputMsg sim;
	rfbFileTransferMsg ft;
	rfbSetSWMsg sw;
	rfbTextChatMsg tc;
	rfbModeChangeMsg mchange;
	rfbPleaseRequestFullUpdateMsg rfu;
	rfbDisplayDimensionsMsg sdims;
	rfbTeamviewerInfoMsg tvinfo;
} rfbClientToServerMsg;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -