summaryrefslogtreecommitdiffstats
path: root/libvncserver/main.c
diff options
context:
space:
mode:
authordscho <dscho>2005-09-28 16:51:50 +0000
committerdscho <dscho>2005-09-28 16:51:50 +0000
commit0a909fde7a283fb22c22bbdbc16bcf4c0fe391ec (patch)
tree9de5c473941fc3c2525a7cbc67fc416cee11efc0 /libvncserver/main.c
parent93be927b1c1c74bc4da6f6d5978ba8e6e52f3cc2 (diff)
downloadlibvncserver-0a909fde7a283fb22c22bbdbc16bcf4c0fe391ec.zip
libvncserver-0a909fde7a283fb22c22bbdbc16bcf4c0fe391ec.tar.gz
This monster commit contains support for TightVNC's file transfer protocol.
Thank you very much, Rohit!
Diffstat (limited to 'libvncserver/main.c')
-rw-r--r--libvncserver/main.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/libvncserver/main.c b/libvncserver/main.c
index 905bb83..240d50d 100644
--- a/libvncserver/main.c
+++ b/libvncserver/main.c
@@ -84,6 +84,46 @@ void rfbReleaseExtensionIterator()
UNLOCK(extMutex);
}
+rfbBool rfbEnableExtension(rfbClientPtr cl, rfbProtocolExtension* extension,
+ void* data)
+{
+ rfbExtensionData* extData;
+
+ /* make sure extension is not yet enabled. */
+ for(extData = cl->extensions; extData; extData = extData->next)
+ if(extData->extension == extension)
+ return FALSE;
+
+ extData = calloc(sizeof(rfbExtensionData),1);
+ extData->extension = extension;
+ extData->data = data;
+ extData->next = cl->extensions;
+ cl->extensions = extData;
+
+ return TRUE;
+}
+
+rfbBool rfbDisableExtension(rfbClientPtr cl, rfbProtocolExtension* extension)
+{
+ rfbExtensionData* extData;
+ rfbExtensionData* prevData = NULL;
+
+ for(extData = cl->extensions; extData; extData = extData->next) {
+ if(extData->extension == extension) {
+ if(extData->data)
+ free(extData->data);
+ if(prevData == NULL)
+ cl->extensions = extData->next;
+ else
+ prevData->next = extData->next;
+ return TRUE;
+ }
+ prevData = extData;
+ }
+
+ return FALSE;
+}
+
/*
* Logging
*/
OpenPOWER on IntegriCloud