diff options
author | Christopher Wedgwood <cw@f00f.org> | 2010-03-24 22:36:38 -0700 |
---|---|---|
committer | Christopher Wedgwood <cw@f00f.org> | 2010-03-24 22:36:38 -0700 |
commit | 77c311b23620dcb33c129e768950446b90a4e556 (patch) | |
tree | cd5ff8caf8ff6f57acae928fd6c79737d12b24aa | |
parent | 3277e578f854cb4addc37a204a879d2204532567 (diff) | |
download | golang-77c311b23620dcb33c129e768950446b90a4e556.tar.gz |
syscall: Implement SetsockoptString
R=rsc, r
CC=golang-dev
http://codereview.appspot.com/739042
Committer: Russ Cox <rsc@golang.org>
-rw-r--r-- | src/pkg/syscall/syscall_darwin.go | 3 | ||||
-rw-r--r-- | src/pkg/syscall/syscall_freebsd.go | 3 | ||||
-rw-r--r-- | src/pkg/syscall/syscall_linux.go | 4 |
3 files changed, 10 insertions, 0 deletions
diff --git a/src/pkg/syscall/syscall_darwin.go b/src/pkg/syscall/syscall_darwin.go index 291ea557b..cfac4295b 100644 --- a/src/pkg/syscall/syscall_darwin.go +++ b/src/pkg/syscall/syscall_darwin.go @@ -342,6 +342,9 @@ func SetsockoptLinger(fd, level, opt int, l *Linger) (errno int) { return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(l)), unsafe.Sizeof(*l)) } +func SetsockoptString(fd, level, opt int, s string) (errno int) { + return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&[]byte(s)[0])), len(s)) +} //sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, errno int) diff --git a/src/pkg/syscall/syscall_freebsd.go b/src/pkg/syscall/syscall_freebsd.go index f5bb45412..a1a34b291 100644 --- a/src/pkg/syscall/syscall_freebsd.go +++ b/src/pkg/syscall/syscall_freebsd.go @@ -342,6 +342,9 @@ func SetsockoptLinger(fd, level, opt int, l *Linger) (errno int) { return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(l)), unsafe.Sizeof(*l)) } +func SetsockoptString(fd, level, opt int, s string) (errno int) { + return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&[]byte(s)[0])), len(s)) +} //sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, errno int) diff --git a/src/pkg/syscall/syscall_linux.go b/src/pkg/syscall/syscall_linux.go index 53ddf1c0e..058a76d69 100644 --- a/src/pkg/syscall/syscall_linux.go +++ b/src/pkg/syscall/syscall_linux.go @@ -365,6 +365,10 @@ func SetsockoptLinger(fd, level, opt int, l *Linger) (errno int) { return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(l)), unsafe.Sizeof(*l)) } +func SetsockoptString(fd, level, opt int, s string) (errno int) { + return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&[]byte(s)[0])), len(s)) +} + func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, errno int) { var rsa RawSockaddrAny var len _Socklen = SizeofSockaddrAny |