summaryrefslogtreecommitdiffstats
path: root/rfb
diff options
context:
space:
mode:
authorChristian Beier <dontmind@freeshell.org>2010-09-29 23:42:52 +0200
committerChristian Beier <dontmind@freeshell.org>2010-09-29 23:42:52 +0200
commit0797e42a4aaf8131ae71899faea2d682ed81cb59 (patch)
treedb5c79c95472f45c2dfd3eb942923ecf6245b81f /rfb
parentc0373e9cd48b0fc22ac295fdab51a29e3df7a0cd (diff)
downloadlibtdevnc-0797e42a4aaf8131ae71899faea2d682ed81cb59.tar.gz
libtdevnc-0797e42a4aaf8131ae71899faea2d682ed81cb59.zip
IP QoS support in libvncclient.
This enables setting the DSCP/Traffic Class field of IP/IPv6 packets sent by a client. For example starting a client with -qosdscp 184 marks all outgoing traffic for expedited forwarding. Implementation for Win32 is still a TODO, though. See http://betelco.blogspot.com/2009/03/dscp-marking-under-windows-at.html for an overview of the Win32 QoS API mess...
Diffstat (limited to 'rfb')
-rw-r--r--rfb/rfbclient.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/rfb/rfbclient.h b/rfb/rfbclient.h
index b38f335..34c8737 100644
--- a/rfb/rfbclient.h
+++ b/rfb/rfbclient.h
@@ -313,6 +313,9 @@ typedef struct _rfbClient {
/* When the server is a repeater, this specifies the final destination */
char *destHost;
int destPort;
+
+ /* the QoS IP DSCP for this client */
+ int QoS_DSCP;
} rfbClient;
/* cursor.c */
@@ -388,6 +391,7 @@ extern int ConnectClientToTcpAddr6(const char *hostname, int port);
extern int ConnectClientToUnixSock(const char *sockFile);
extern int AcceptTcpConnection(int listenSock);
extern rfbBool SetNonBlocking(int sock);
+extern rfbBool SetDSCP(int sock, int dscp);
extern rfbBool StringToIPAddr(const char *str, unsigned int *addr);
extern rfbBool SameMachine(int sock);