]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: add GetsockoptByte, SetsockoptByte for openbsd
authorMikio Hara <mikioh.mikioh@gmail.com>
Fri, 23 Sep 2011 14:39:19 +0000 (23:39 +0900)
committerMikio Hara <mikioh.mikioh@gmail.com>
Fri, 23 Sep 2011 14:39:19 +0000 (23:39 +0900)
R=golang-dev, fullung, dave, rsc
CC=golang-dev
https://golang.org/cl/5081044

src/pkg/syscall/syscall_bsd.go

index 59c6f4560bf2c0592ddbec059ac7ec638647791d..57d15ff4a63b8067e632cc1b89bfbf4ce7ddc0f1 100644 (file)
@@ -363,6 +363,13 @@ func Socketpair(domain, typ, proto int) (fd [2]int, errno int) {
        return
 }
 
+func GetsockoptByte(fd, level, opt int) (value byte, errno int) {
+       var n byte
+       vallen := _Socklen(1)
+       errno = getsockopt(fd, level, opt, uintptr(unsafe.Pointer(&n)), &vallen)
+       return n, errno
+}
+
 func GetsockoptInt(fd, level, opt int) (value, errno int) {
        var n int32
        vallen := _Socklen(4)
@@ -370,6 +377,11 @@ func GetsockoptInt(fd, level, opt int) (value, errno int) {
        return int(n), errno
 }
 
+func SetsockoptByte(fd, level, opt int, value byte) (errno int) {
+       var n = byte(value)
+       return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&n)), 1)
+}
+
 func SetsockoptInt(fd, level, opt int, value int) (errno int) {
        var n = int32(value)
        return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&n)), 4)