mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
syscall: use unsafe.Pointer instead of uintptr in net syscalls
In particular: setsockopt, getsockopt, bind, connect. There are probably more. All platforms cross-compile with make.bash, and all.bash still pases on linux/amd64. Update #7169 R=rsc CC=golang-codereviews https://golang.org/cl/55410043
This commit is contained in:
parent
db37050f21
commit
f00af3da1c
20 changed files with 140 additions and 140 deletions
|
|
@ -212,7 +212,7 @@ func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
func bind(s int, addr uintptr, addrlen _Socklen) (err error) {
|
||||
func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
|
||||
_, e := socketcall(_BIND, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)
|
||||
if e != 0 {
|
||||
err = e
|
||||
|
|
@ -220,7 +220,7 @@ func bind(s int, addr uintptr, addrlen _Socklen) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
func connect(s int, addr uintptr, addrlen _Socklen) (err error) {
|
||||
func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
|
||||
_, e := socketcall(_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)
|
||||
if e != 0 {
|
||||
err = e
|
||||
|
|
@ -236,7 +236,7 @@ func socket(domain int, typ int, proto int) (fd int, err error) {
|
|||
return
|
||||
}
|
||||
|
||||
func getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) {
|
||||
func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
|
||||
_, e := socketcall(_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
|
||||
if e != 0 {
|
||||
err = e
|
||||
|
|
@ -244,8 +244,8 @@ func getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err
|
|||
return
|
||||
}
|
||||
|
||||
func setsockopt(s int, level int, name int, val uintptr, vallen uintptr) (err error) {
|
||||
_, e := socketcall(_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0)
|
||||
func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
|
||||
_, e := socketcall(_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen, 0)
|
||||
if e != 0 {
|
||||
err = e
|
||||
}
|
||||
|
|
@ -264,12 +264,12 @@ func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockle
|
|||
return
|
||||
}
|
||||
|
||||
func sendto(s int, p []byte, flags int, to uintptr, addrlen _Socklen) (err error) {
|
||||
func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
|
||||
var base uintptr
|
||||
if len(p) > 0 {
|
||||
base = uintptr(unsafe.Pointer(&p[0]))
|
||||
}
|
||||
_, e := socketcall(_SENDTO, uintptr(s), base, uintptr(len(p)), uintptr(flags), to, uintptr(addrlen))
|
||||
_, e := socketcall(_SENDTO, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen))
|
||||
if e != 0 {
|
||||
err = e
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue