diff options
author | Christopher Wedgwood <cw@f00f.org> | 2010-05-24 16:53:23 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2010-05-24 16:53:23 -0700 |
commit | 5c19c4e5e31849c7a597adf88617e26a180ec4fb (patch) | |
tree | f493c4bd207cc43c8e80b8b9f0c9498b7c60be77 | |
parent | 751fc425ee51645646ce5a731f74a72c254ac75a (diff) | |
download | go-5c19c4e5e31849c7a597adf88617e26a180ec4fb.tar.gz go-5c19c4e5e31849c7a597adf88617e26a180ec4fb.zip |
net: udp, implement BindToDevice
R=rsc
CC=golang-dev, r
https://golang.org/cl/1271041
-rw-r--r-- | src/pkg/net/udpsock.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/pkg/net/udpsock.go b/src/pkg/net/udpsock.go index 6de69a9c9b..5e22c778d9 100644 --- a/src/pkg/net/udpsock.go +++ b/src/pkg/net/udpsock.go @@ -259,3 +259,13 @@ func ListenUDP(net string, laddr *UDPAddr) (c *UDPConn, err os.Error) { } return newUDPConn(fd), nil } + +// BindToDevice binds a UDPConn to a network interface. +func (c *UDPConn) BindToDevice(device string) os.Error { + if !c.ok() { + return os.EINVAL + } + c.fd.incref() + defer c.fd.decref() + return os.NewSyscallError("setsockopt", syscall.BindToDevice(c.fd.sysfd, device)) +} |