summaryrefslogtreecommitdiff
path: root/src/lib/syscall/socket_linux.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2008-12-09 10:57:55 -0800
committerRuss Cox <rsc@golang.org>2008-12-09 10:57:55 -0800
commit2a6a6a917ab745ffc5c916213e8339f642212b80 (patch)
tree5a5c1565a284cc6f82528756b98d3d08b97af803 /src/lib/syscall/socket_linux.go
parent677e5c5780e88b5f75df2340db6d1faa164ab6cc (diff)
downloadgolang-2a6a6a917ab745ffc5c916213e8339f642212b80.tar.gz
replace assembly casts with unsafe.pointer
R=r DELTA=178 (18 added, 101 deleted, 59 changed) OCL=20822 CL=20826
Diffstat (limited to 'src/lib/syscall/socket_linux.go')
-rw-r--r--src/lib/syscall/socket_linux.go21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/lib/syscall/socket_linux.go b/src/lib/syscall/socket_linux.go
index 69a05308c..614c6bcb2 100644
--- a/src/lib/syscall/socket_linux.go
+++ b/src/lib/syscall/socket_linux.go
@@ -7,7 +7,10 @@
// DO NOT USE DIRECTLY.
package syscall
-import "syscall"
+import (
+ "syscall";
+ "unsafe";
+)
export func SockaddrToSockaddrInet4(s *Sockaddr) *SockaddrInet4;
export func SockaddrToSockaddrInet6(s *Sockaddr) *SockaddrInet6;
@@ -32,12 +35,12 @@ export func socket(domain, proto, typ int64) (ret int64, err int64) {
}
export func connect(fd int64, sa *Sockaddr) (ret int64, err int64) {
- r1, r2, e := Syscall(SYS_CONNECT, fd, SockaddrPtr(sa), Len(sa));
+ r1, r2, e := Syscall(SYS_CONNECT, fd, int64(uintptr(unsafe.pointer(sa))), Len(sa));
return r1, e
}
export func bind(fd int64, sa *Sockaddr) (ret int64, err int64) {
- r1, r2, e := Syscall(SYS_BIND, fd, SockaddrPtr(sa), Len(sa));
+ r1, r2, e := Syscall(SYS_BIND, fd, int64(uintptr(unsafe.pointer(sa))), Len(sa));
return r1, e
}
@@ -48,7 +51,7 @@ export func listen(fd, n int64) (ret int64, err int64) {
export func accept(fd int64, sa *Sockaddr) (ret int64, err int64) {
var n int32 = SizeofSockaddr;
- r1, r2, e := Syscall(SYS_ACCEPT, fd, SockaddrPtr(sa), Int32Ptr(&n));
+ r1, r2, e := Syscall(SYS_ACCEPT, fd, int64(uintptr(unsafe.pointer(sa))), int64(uintptr(unsafe.pointer(&n))));
return r1, e
}
@@ -62,7 +65,7 @@ export func setsockopt(fd, level, opt, valueptr, length int64) (ret int64, err i
export func setsockopt_int(fd, level, opt int64, value int) int64 {
n := int32(opt);
- r1, e := setsockopt(fd, level, opt, Int32Ptr(&n), 4);
+ r1, e := setsockopt(fd, level, opt, int64(uintptr(unsafe.pointer(&n))), 4);
return e
}
@@ -71,7 +74,7 @@ export func setsockopt_tv(fd, level, opt, nsec int64) int64 {
nsec += 999;
tv.sec = int64(nsec/1000000000);
tv.usec = uint64(nsec%1000000000);
- r1, e := setsockopt(fd, level, opt, TimevalPtr(&tv), 4);
+ r1, e := setsockopt(fd, level, opt, int64(uintptr(unsafe.pointer(&tv))), 4);
return e
}
@@ -84,7 +87,7 @@ export func setsockopt_linger(fd, level, opt int64, sec int) int64 {
l.yes = 0;
l.sec = 0
}
- r1, err := setsockopt(fd, level, opt, LingerPtr(&l), 8);
+ r1, err := setsockopt(fd, level, opt, int64(uintptr(unsafe.pointer(&l))), 8);
return err
}
@@ -101,7 +104,7 @@ export func epoll_create(size int64) (ret int64, errno int64) {
}
export func epoll_ctl(epfd, op, fd int64, ev *EpollEvent) int64 {
- r1, r2, err := syscall.Syscall6(SYS_EPOLL_CTL, epfd, op, fd, EpollEventPtr(ev), 0, 0);
+ r1, r2, err := syscall.Syscall6(SYS_EPOLL_CTL, epfd, op, fd, int64(uintptr(unsafe.pointer(ev))), 0, 0);
return err
}
@@ -109,7 +112,7 @@ export func epoll_wait(epfd int64, ev *[]EpollEvent, msec int64) (ret int64, err
var evptr, nev int64;
if ev != nil && len(ev) > 0 {
nev = int64(len(ev));
- evptr = EpollEventPtr(&ev[0])
+ evptr = int64(uintptr(unsafe.pointer(&ev[0])))
}
r1, r2, err1 := syscall.Syscall6(SYS_EPOLL_WAIT, epfd, evptr, nev, msec, 0, 0);
return r1, err1