system/lib/lcd/gui/Core/GUI_VNC.h

96 lines
3.1 KiB
C

/*
*********************************************************************************************************
* uC/GUI
* Universal graphic software for embedded applications
*
* (c) Copyright 2002, Micrium Inc., Weston, FL
* (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
* µC/GUI is protected by international copyright laws. Knowledge of the
* source code may not be used to write a similar product. This file may
* only be used in accordance with a license and should not be redistributed
* in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File : GUI_VNC.h
Purpose : Publics for the VNC server
---------------------------END-OF-HEADER------------------------------
Attention : Do not modify this file ! If you do, you will not
be able do update to a later GUI version !
*/
#ifndef GUI_VNC_H
#define GUI_VNC_H
#include "GUI.h"
#include "LCD_Private.h" /* Required because the Driver API depends on Config currently */
#if GUI_SUPPORT_DEVICES
#if defined(__cplusplus)
extern "C" { /* Make sure we have C-declarations in C++ programs */
#endif
/*********************************************************************
*
* defines
*
**********************************************************************
*/
#define GUI_VNC_NO_ERROR 0
#define GUI_VNC_ERROR_MISC 1
#define GUI_VNC_ERROR_WRONGFORMAT 2
/*********************************************************************
*
* types
*
**********************************************************************
*/
typedef int (*GUI_tSend) (const U8 * pData, int len, void* pConnectInfo);
typedef int (*GUI_tReceive)( U8 * pData, int len, void* pConnectInfo);
typedef struct GUI_VNC_CONTEXT {
struct GUI_VNC_CONTEXT * pNext;
int LayerIndex;
/* Connection related data */
GUI_tSend pfSend;
GUI_tReceive pfReceive;
void* pConnectInfo;
U16 ServerIndex;
/* Display related info */
const tLCDDEV_APIList* pLayerAPIOrig;
tLCDDEV_APIList VNC_LayerAPI;
int x0Dirty, y0Dirty, x1Dirty, y1Dirty;
int XSize, YSize;
/* Status */
char ClientSupportsHextile;
char IsBigEndian;
} GUI_VNC_CONTEXT;
/*********************************************************************
*
* functions
*
**********************************************************************
*/
int GUI_VNC_Process (GUI_VNC_CONTEXT* pContext, GUI_tSend pfSend, GUI_tReceive pfReceive, void* pConnectInfo);
void GUI_VNC_AttachToLayer(GUI_VNC_CONTEXT* pContext, int LayerIndex);
int GUI_VNC_GetNumConnections(void);
/**** External routine to link the server to the system ... USER defined ! ****/
int GUI_VNC_X_StartServer(int LayerIndex, int ServerIndex);
#if defined(__cplusplus)
}
#endif
#endif /* GUI_SUPPORT_DEVICES */
#endif /* Avoid multiple inclusion */
/*************************** End of file ****************************/