diff options
author | Christian Beier <dontmind@freeshell.org> | 2010-09-29 23:42:52 +0200 |
---|---|---|
committer | Christian Beier <dontmind@freeshell.org> | 2010-09-29 23:42:52 +0200 |
commit | 0797e42a4aaf8131ae71899faea2d682ed81cb59 (patch) | |
tree | db5c79c95472f45c2dfd3eb942923ecf6245b81f /rfb | |
parent | c0373e9cd48b0fc22ac295fdab51a29e3df7a0cd (diff) | |
download | libvncserver-0797e42a4aaf8131ae71899faea2d682ed81cb59.zip libvncserver-0797e42a4aaf8131ae71899faea2d682ed81cb59.tar.gz |
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.h | 4 |
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); |