@@ -138,6 +138,9 @@ typedef int (*rfbFileTransferPermitted) (struct _rfbClientRec* cl);
138138/** Handle the textchat messages */
139139typedef void (* rfbSetTextChat ) (struct _rfbClientRec * cl , int length , char * string );
140140
141+ /* error handling (server side) */
142+ typedef void (* ClientErrorChangedProc )(struct _rfbClientRec * client );
143+
141144typedef struct {
142145 uint32_t count ;
143146 rfbBool is16 ; /**< is the data format short? */
@@ -302,6 +305,8 @@ typedef struct _rfbScreenInfo
302305 rfbFileTransferPermitted getFileTransferPermission ;
303306 rfbSetTextChat setTextChat ;
304307
308+ ClientErrorChangedProc clientErrorChanged ;
309+
305310 /** newClientHook is called just after a new client is created */
306311 rfbNewClientHookPtr newClientHook ;
307312 /** displayHook is called just before a frame buffer update */
@@ -440,6 +445,13 @@ typedef struct _rfbClientRec {
440445 * This is useful if the IO functions have to behave client specific.
441446 */
442447 void * clientData ;
448+
449+ /**
450+ * error handling
451+ */
452+
453+ char * lastError ;
454+
443455 ClientGoneHookPtr clientGoneHook ;
444456
445457 rfbSocket sock ;
@@ -1017,6 +1029,8 @@ extern rfbBool rfbProcessSizeArguments(int* width,int* height,int* bpp,int* argc
10171029
10181030extern void rfbLogEnable (int enabled );
10191031typedef void (* rfbLogProc )(const char * format , ...);
1032+ typedef void (* rfbClientSetErrProc )(rfbClientPtr cl , const char * format , ...);
1033+ extern rfbClientSetErrProc rfbClientSetErr ;
10201034extern rfbLogProc rfbLog , rfbErr ;
10211035extern void rfbLogPerror (const char * str );
10221036
0 commit comments