]> Cypherpunks repositories - gostls13.git/commitdiff
fixing (badly) linux_arm syscall.
authorKai Backman <kaib@golang.org>
Thu, 5 Nov 2009 05:34:54 +0000 (21:34 -0800)
committerKai Backman <kaib@golang.org>
Thu, 5 Nov 2009 05:34:54 +0000 (21:34 -0800)
R=rsc
http://go/go-review/1017037

src/pkg/syscall/syscall_linux_arm.go
src/pkg/syscall/zerrors_linux_arm.go
src/pkg/syscall/zsyscall_linux_arm.go
src/pkg/syscall/ztypes_linux_arm.go

index dec43c5f310130ff80ad8c3f4f136dea3eb2da0c..f87182cd7b8595fecb01830a25612a04b2ae9324 100644 (file)
@@ -34,6 +34,8 @@ func NsecToTimeval(nsec int64) (tv Timeval) {
 //sys  socket(domain int, typ int, proto int) (fd int, errno int)
 //sys  getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (errno int)
 //sys  getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (errno int)
+//sys  recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, errno int)
+//sys  sendto(s int, buf []byte, flags int, to uintptr, addrlen _Socklen) (errno int)
 
 //sys  Chown(path string, uid int, gid int) (errno int)
 //sys  Fchown(fd int, uid int, gid int) (errno int)
index 8ba2a33bfa1a4f656511a62992fa603b1ba9c6a6..f82ba3b99092dfeae3865683eae97b0fe548612d 100644 (file)
@@ -176,6 +176,7 @@ const (
        SIGINT          = 0x2;
        SIGIOT          = 0x6;
        SIGTERM         = 0xf;
+       O_EXCL                                  = 0x80;
 )
 
 // Types
index 182bde1e34bd81e77b4d92b4edd0581a6c44b6c6..a726cf4cce8d5ed09b581c4ff6af968a60bac7b0 100644 (file)
@@ -775,3 +775,24 @@ func Statfs(path string, buf *Statfs_t) (errno int) {
        errno = int(e1);
        return;
 }
+
+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, errno int) {
+       var _p0 *byte;
+       if len(p) > 0 {
+               _p0 = &p[0];
+       }
+       r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)));
+       n = int(r0);
+       errno = int(e1);
+       return;
+}
+
+func sendto(s int, buf []byte, flags int, to uintptr, addrlen _Socklen) (errno int) {
+       var _p0 *byte;
+       if len(buf) > 0 {
+               _p0 = &buf[0];
+       }
+       _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen));
+       errno = int(e1);
+       return;
+}
index 1f786b6faa4a841d1ae119c6610bc9aaeb19b81b..87121d3466e6dac604a70982b3673ac490e82269 100644 (file)
@@ -77,29 +77,29 @@ const (
        SizeofSockaddrInet6     = 0x1c;
        SizeofSockaddrAny       = 0x1c;
        SizeofSockaddrUnix      = 0x6e;
-       _PTRACE_TRACEME         = 0;
-       _PTRACE_PEEKTEXT        = 0x1;
-       _PTRACE_PEEKDATA        = 0x2;
-       _PTRACE_PEEKUSER        = 0x3;
-       _PTRACE_POKETEXT        = 0x4;
-       _PTRACE_POKEDATA        = 0x5;
-       _PTRACE_POKEUSER        = 0x6;
-       _PTRACE_CONT            = 0x7;
-       _PTRACE_KILL            = 0x8;
-       _PTRACE_SINGLESTEP      = 0x9;
-       _PTRACE_GETREGS         = 0xc;
-       _PTRACE_SETREGS         = 0xd;
-       _PTRACE_GETFPREGS       = 0xe;
-       _PTRACE_SETFPREGS       = 0xf;
-       _PTRACE_ATTACH          = 0x10;
-       _PTRACE_DETACH          = 0x11;
-       _PTRACE_GETFPXREGS      = 0x12;
-       _PTRACE_SETFPXREGS      = 0x13;
-       _PTRACE_SYSCALL         = 0x18;
-       _PTRACE_SETOPTIONS      = 0x4200;
-       _PTRACE_GETEVENTMSG     = 0x4201;
-       _PTRACE_GETSIGINFO      = 0x4202;
-       _PTRACE_SETSIGINFO      = 0x4203;
+       PTRACE_TRACEME          = 0;
+       PTRACE_PEEKTEXT = 0x1;
+       PTRACE_PEEKDATA = 0x2;
+       PTRACE_PEEKUSER = 0x3;
+       PTRACE_POKETEXT = 0x4;
+       PTRACE_POKEDATA = 0x5;
+       PTRACE_POKEUSER = 0x6;
+       PTRACE_CONT             = 0x7;
+       PTRACE_KILL             = 0x8;
+       PTRACE_SINGLESTEP       = 0x9;
+       PTRACE_GETREGS          = 0xc;
+       PTRACE_SETREGS          = 0xd;
+       PTRACE_GETFPREGS        = 0xe;
+       PTRACE_SETFPREGS        = 0xf;
+       PTRACE_ATTACH           = 0x10;
+       PTRACE_DETACH           = 0x11;
+       PTRACE_GETFPXREGS       = 0x12;
+       PTRACE_SETFPXREGS       = 0x13;
+       PTRACE_SYSCALL          = 0x18;
+       PTRACE_SETOPTIONS       = 0x4200;
+       PTRACE_GETEVENTMSG      = 0x4201;
+       PTRACE_GETSIGINFO       = 0x4202;
+       PTRACE_SETSIGINFO       = 0x4203;
        PTRACE_O_TRACESYSGOOD   = 0x1;
        PTRACE_O_TRACEFORK      = 0x2;
        PTRACE_O_TRACEVFORK     = 0x4;