]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: GetsockoptInt for darwin, freebsd.
authorAlbert Strasheim <fullung@gmail.com>
Fri, 25 Mar 2011 18:43:59 +0000 (14:43 -0400)
committerRuss Cox <rsc@golang.org>
Fri, 25 Mar 2011 18:43:59 +0000 (14:43 -0400)
R=rsc
CC=golang-dev
https://golang.org/cl/4298060

src/pkg/syscall/syscall_bsd.go
src/pkg/syscall/zsyscall_darwin_386.go
src/pkg/syscall/zsyscall_darwin_amd64.go
src/pkg/syscall/zsyscall_freebsd_386.go
src/pkg/syscall/zsyscall_freebsd_amd64.go

index 61335dbcea60a52447dbee7f23464df0a9aa281a..93390eb323fc0fa5df4c8c792774a2fa54fba6ef 100644 (file)
@@ -149,6 +149,7 @@ func Sleep(ns int64) (errno int) {
 //sys  bind(s int, addr uintptr, addrlen _Socklen) (errno int)
 //sys  connect(s int, addr uintptr, addrlen _Socklen) (errno int)
 //sysnb        socket(domain int, typ int, proto int) (fd int, errno int)
+//sys  getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (errno int)
 //sys  setsockopt(s int, level int, name int, val uintptr, vallen int) (errno int)
 //sysnb        getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (errno int)
 //sysnb        getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (errno int)
@@ -362,6 +363,13 @@ func Socketpair(domain, typ, proto int) (fd [2]int, errno int) {
        return
 }
 
+func GetsockoptInt(fd, level, opt int) (value, errno int) {
+       var n int32
+       vallen := _Socklen(4)
+       errno = getsockopt(fd, level, opt, uintptr(unsafe.Pointer(&n)), &vallen)
+       return int(n), errno
+}
+
 func SetsockoptInt(fd, level, opt int, value int) (errno int) {
        var n = int32(value)
        return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&n)), 4)
@@ -552,7 +560,6 @@ func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (errno int) {
 // TODO: wrap
 //     Acct(name nil-string) (errno int)
 //     Gethostuuid(uuid *byte, timeout *Timespec) (errno int)
-//     Getsockopt(s int, level int, name int, val *byte, vallen *int) (errno int)
 //     Madvise(addr *byte, len int, behav int) (errno int)
 //     Mprotect(addr *byte, len int, prot int) (errno int)
 //     Msync(addr *byte, len int, flags int) (errno int)
index ca16797056575999730ff5c0b893daa2a5330395..956c7f5480ae646237a8a5e4c79ee4f36ced180c 100644 (file)
@@ -1,4 +1,4 @@
-// mksyscall.sh -l32 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go
+// mksyscall.pl -l32 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
 package syscall
@@ -77,6 +77,14 @@ func socket(domain int, typ int, proto int) (fd int, errno int) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (errno int) {
+       _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
+       errno = int(e1)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func setsockopt(s int, level int, name int, val uintptr, vallen int) (errno int) {
        _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
        errno = int(e1)
index 46afd05410c12955cb416e2cf15f62d070bddb17..f9baf9f2477148266d4942a867a5e32d7b50efb0 100644 (file)
@@ -77,6 +77,14 @@ func socket(domain int, typ int, proto int) (fd int, errno int) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (errno int) {
+       _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
+       errno = int(e1)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func setsockopt(s int, level int, name int, val uintptr, vallen int) (errno int) {
        _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
        errno = int(e1)
index d5b03f66fc91658c91adb1552574fd2ca949da68..20eb24817cf8adbbdcb7773fd5d821ef41544955 100644 (file)
@@ -1,4 +1,4 @@
-// mksyscall.sh -l32 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go
+// mksyscall.pl -l32 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
 package syscall
@@ -77,6 +77,14 @@ func socket(domain int, typ int, proto int) (fd int, errno int) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (errno int) {
+       _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
+       errno = int(e1)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func setsockopt(s int, level int, name int, val uintptr, vallen int) (errno int) {
        _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
        errno = int(e1)
index f76434a07f0203572df48bd67c433210bf467716..bdcfdabf7055beccdd0e2be854ef2e24991c841d 100644 (file)
@@ -1,4 +1,4 @@
-// mksyscall.sh syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go
+// mksyscall.pl syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
 package syscall
@@ -77,6 +77,14 @@ func socket(domain int, typ int, proto int) (fd int, errno int) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (errno int) {
+       _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
+       errno = int(e1)
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func setsockopt(s int, level int, name int, val uintptr, vallen int) (errno int) {
        _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
        errno = int(e1)