STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
GUI_VNC.h
Go to the documentation of this file.
1 /*********************************************************************
2 * SEGGER Microcontroller GmbH & Co. KG *
3 * Solutions for real time microcontroller applications *
4 **********************************************************************
5 * *
6 * (c) 1996 - 2015 SEGGER Microcontroller GmbH & Co. KG *
7 * *
8 * Internet: www.segger.com Support: support@segger.com *
9 * *
10 **********************************************************************
11 
12 ** emWin V5.28 - Graphical user interface for embedded applications **
13 All Intellectual Property rights in the Software belongs to SEGGER.
14 emWin is protected by international copyright laws. Knowledge of the
15 source code may not be used to write a similar product. This file may
16 only be used in accordance with the following terms:
17 
18 The software has been licensed to STMicroelectronics International
19 N.V. a Dutch company with a Swiss branch and its headquarters in Plan-
20 les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the
21 purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_
22 troller products commercialized by Licensee only, sublicensed and dis_
23 tributed under the terms and conditions of the End User License Agree_
24 ment supplied by STMicroelectronics International N.V.
25 Full source code is available at: www.segger.com
26 
27 We appreciate your understanding and fairness.
28 ----------------------------------------------------------------------
29 File : GUI_VNC.h
30 Purpose : Publics for the VNC server
31 ---------------------------END-OF-HEADER------------------------------
32 
33 Attention : Do not modify this file ! If you do, you will not
34  be able do update to a later GUI version !
35 
36 */
37 
38 #ifndef GUI_VNC_H
39 #define GUI_VNC_H
40 
41 #include "GUI_Private.h"
42 #include "GUI_Type.h"
43 
44 #if defined(__cplusplus)
45 extern "C" { /* Make sure we have C-declarations in C++ programs */
46 #endif
47 
48 
49 /*********************************************************************
50 *
51 * Defines
52 *
53 **********************************************************************
54 */
55 #define GUI_VNC_NO_ERROR 0
56 #define GUI_VNC_ERROR_MISC 1
57 #define GUI_VNC_ERROR_WRONGFORMAT 2
58 
59 #define GUI_DES_ENCRYPT 0
60 #define GUI_DES_DECRYPT 1
61 
62 /*********************************************************************
63 *
64 * Types
65 *
66 **********************************************************************
67 */
68 typedef struct GUI_VNC_CONTEXT {
73  int BitsPerPixel; // Note, that from within the VNC server the function LCD_GetBitsBerPixel() can not be used because the VNC server runs in a separate thread and the device chain can change during the function call
74  //
75  // Connection related data
76  //
79  void * pConnectInfo;
81  //
82  // Display related info
83  //
85  int XSize, YSize;
87  int OrgLock;
88  //
89  // Status
90  //
94 
95 typedef struct {
96  void (* pfGetChallenge)(U8 * pChallenge);
97  void (* pfGetResponse )(U8 * pResponse );
99 
100 /*********************************************************************
101 *
102 * Private Functions
103 *
104 **********************************************************************
105 */
106 void GUI_VNC_SetDESKey(U8 * pKey, int Mode);
107 void GUI_VNC_DoDES (U8 * pInblock, U8 * pOutblock);
108 
109 /*********************************************************************
110 *
111 * Public Functions
112 *
113 **********************************************************************
114 */
115 void GUI_VNC_AttachToLayer (GUI_VNC_CONTEXT * pContext, int LayerIndex);
116 void GUI_VNC_EnableKeyboardInput(int OnOff);
117 int GUI_VNC_GetNumConnections (void);
119 void GUI_VNC_RingBell (void);
120 void GUI_VNC_SetAuthentication (GUI_VNC_AUTHENTICATION * pAuthentication);
121 void GUI_VNC_SetPassword (U8 * sPassword);
122 void GUI_VNC_SetProgName (const char * sProgName);
123 void GUI_VNC_SetSize (unsigned xSize, unsigned ySize);
124 void GUI_VNC_SetLockFrame (unsigned OnOff);
125 
126 /**** External routine to link the server to the system ... USER defined ! ****/
128 void GUI_VNC_X_getpeername(U32 * Addr);
129 
130 #if defined(__cplusplus)
131  }
132 #endif
133 
134 #endif /* Avoid multiple inclusion */
135 
136 /*************************** End of file ****************************/
void GUI_VNC_SetProgName(const char *sProgName)
void * pConnectInfo
Definition: GUI_VNC.h:79
int GUI_VNC_X_StartServer(int LayerIndex, int ServerIndex)
struct GUI_VNC_CONTEXT GUI_VNC_CONTEXT
int BitsPerPixel
Definition: GUI_VNC.h:73
void GUI_VNC_SetDESKey(U8 *pKey, int Mode)
#define U32
Definition: Global.h:50
U16 ServerIndex
Definition: GUI_VNC.h:80
int(* GUI_tSend)(const U8 *pData, int len, void *p)
Definition: GUI_Type.h:659
GUI_tSend pfSend
Definition: GUI_VNC.h:77
void GUI_VNC_EnableKeyboardInput(int OnOff)
GUI_DEVICE * pDevice
Definition: GUI_VNC.h:69
int GUI_VNC_Process(GUI_VNC_CONTEXT *pContext, GUI_tSend pfSend, GUI_tRecv pfReceive, void *pConnectInfo)
void GUI_VNC_X_getpeername(U32 *Addr)
void GUI_VNC_SetPassword(U8 *sPassword)
void GUI_VNC_DoDES(U8 *pInblock, U8 *pOutblock)
int(* GUI_tRecv)(U8 *pData, int len, void *p)
Definition: GUI_Type.h:660
void GUI_VNC_RingBell(void)
char IsBigEndian
Definition: GUI_VNC.h:92
char ClientSupportsHextile
Definition: GUI_VNC.h:91
int BytesPerPixel
Definition: GUI_VNC.h:72
int GUI_VNC_GetNumConnections(void)
struct GUI_VNC_CONTEXT * pNext
Definition: GUI_VNC.h:70
#define U16
Definition: Global.h:47
void GUI_VNC_AttachToLayer(GUI_VNC_CONTEXT *pContext, int LayerIndex)
GUI_tRecv pfReceive
Definition: GUI_VNC.h:78
void GUI_VNC_SetLockFrame(unsigned OnOff)
void GUI_VNC_SetSize(unsigned xSize, unsigned ySize)
void GUI_VNC_SetAuthentication(GUI_VNC_AUTHENTICATION *pAuthentication)
int LayerIndex
Definition: GUI_VNC.h:71
#define U8
Definition: Global.h:44