@@ -138,6 +138,9 @@ typedef int (*rfbFileTransferPermitted) (struct _rfbClientRec* cl);
138
138
/** Handle the textchat messages */
139
139
typedef void (* rfbSetTextChat ) (struct _rfbClientRec * cl , int length , char * string );
140
140
141
+ /* error handling (server side) */
142
+ typedef void (* ClientErrorChangedProc )(struct _rfbClientRec * client );
143
+
141
144
typedef struct {
142
145
uint32_t count ;
143
146
rfbBool is16 ; /**< is the data format short? */
@@ -302,6 +305,8 @@ typedef struct _rfbScreenInfo
302
305
rfbFileTransferPermitted getFileTransferPermission ;
303
306
rfbSetTextChat setTextChat ;
304
307
308
+ ClientErrorChangedProc clientErrorChanged ;
309
+
305
310
/** newClientHook is called just after a new client is created */
306
311
rfbNewClientHookPtr newClientHook ;
307
312
/** displayHook is called just before a frame buffer update */
@@ -440,6 +445,13 @@ typedef struct _rfbClientRec {
440
445
* This is useful if the IO functions have to behave client specific.
441
446
*/
442
447
void * clientData ;
448
+
449
+ /**
450
+ * error handling
451
+ */
452
+
453
+ char * lastError ;
454
+
443
455
ClientGoneHookPtr clientGoneHook ;
444
456
445
457
rfbSocket sock ;
@@ -1017,6 +1029,8 @@ extern rfbBool rfbProcessSizeArguments(int* width,int* height,int* bpp,int* argc
1017
1029
1018
1030
extern void rfbLogEnable (int enabled );
1019
1031
typedef void (* rfbLogProc )(const char * format , ...);
1032
+ typedef void (* rfbClientSetErrProc )(rfbClientPtr cl , const char * format , ...);
1033
+ extern rfbClientSetErrProc rfbClientSetErr ;
1020
1034
extern rfbLogProc rfbLog , rfbErr ;
1021
1035
extern void rfbLogPerror (const char * str );
1022
1036
0 commit comments