summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Sing <jsing@google.com>2011-12-22 23:42:43 +1100
committerJoel Sing <jsing@google.com>2011-12-22 23:42:43 +1100
commitd86ddebd051d29d5710ac5f7bf17b99b47fbca50 (patch)
tree045c8e6c755552e7367c43c369cf65097dff0f7e
parent788bcdadd24c3e7608adf52fb3c9727cebbd2346 (diff)
downloadgo-d86ddebd051d29d5710ac5f7bf17b99b47fbca50.tar.gz
syscall: make getdirentries work on netbsd
R=golang-dev, mikioh.mikioh CC=golang-dev http://codereview.appspot.com/5504068
-rw-r--r--src/pkg/syscall/syscall_netbsd.go9
-rw-r--r--src/pkg/syscall/zsyscall_netbsd_386.go17
-rw-r--r--src/pkg/syscall/zsyscall_netbsd_amd64.go17
-rw-r--r--src/pkg/syscall/ztypes_netbsd_386.go6
-rw-r--r--src/pkg/syscall/ztypes_netbsd_amd64.go6
5 files changed, 44 insertions, 11 deletions
diff --git a/src/pkg/syscall/syscall_netbsd.go b/src/pkg/syscall/syscall_netbsd.go
index eb1a78a11..f122c6224 100644
--- a/src/pkg/syscall/syscall_netbsd.go
+++ b/src/pkg/syscall/syscall_netbsd.go
@@ -74,13 +74,13 @@ func Pipe(p []int) (err error) {
return
}
-// TODO
-func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
- return -1, ENOSYS
+//sys getdents(fd int, buf []byte) (n int, err error)
+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
+ return getdents(fd, buf)
}
// TODO
-func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
return -1, ENOSYS
}
@@ -176,7 +176,6 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
// __fhstatvfs140
// __fstat30
// __getcwd
-// __getdents30
// __getfh30
// __getlogin
// __lstat30
diff --git a/src/pkg/syscall/zsyscall_netbsd_386.go b/src/pkg/syscall/zsyscall_netbsd_386.go
index 6520a7fe7..61fb8b5b4 100644
--- a/src/pkg/syscall/zsyscall_netbsd_386.go
+++ b/src/pkg/syscall/zsyscall_netbsd_386.go
@@ -263,6 +263,23 @@ func pipe(p *[2]_C_int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func getdents(fd int, buf []byte) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(buf) > 0 {
+ _p0 = unsafe.Pointer(&buf[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
+ n = int(r0)
+ if e1 != 0 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Access(path string, mode uint32) (err error) {
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), 0)
if e1 != 0 {
diff --git a/src/pkg/syscall/zsyscall_netbsd_amd64.go b/src/pkg/syscall/zsyscall_netbsd_amd64.go
index 94fbc83be..e665aa009 100644
--- a/src/pkg/syscall/zsyscall_netbsd_amd64.go
+++ b/src/pkg/syscall/zsyscall_netbsd_amd64.go
@@ -263,6 +263,23 @@ func pipe(p *[2]_C_int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func getdents(fd int, buf []byte) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(buf) > 0 {
+ _p0 = unsafe.Pointer(&buf[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
+ n = int(r0)
+ if e1 != 0 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Access(path string, mode uint32) (err error) {
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), 0)
if e1 != 0 {
diff --git a/src/pkg/syscall/ztypes_netbsd_386.go b/src/pkg/syscall/ztypes_netbsd_386.go
index 04e7bad67..ef9f33aeb 100644
--- a/src/pkg/syscall/ztypes_netbsd_386.go
+++ b/src/pkg/syscall/ztypes_netbsd_386.go
@@ -127,11 +127,11 @@ type Flock_t struct {
}
type Dirent struct {
- Fileno uint32
+ Fileno uint64
Reclen uint16
+ Namlen uint16
Type uint8
- Namlen uint8
- Name [256]int8
+ Name [512]int8
}
type Fsid struct {
diff --git a/src/pkg/syscall/ztypes_netbsd_amd64.go b/src/pkg/syscall/ztypes_netbsd_amd64.go
index 1aabee5d4..3979d54de 100644
--- a/src/pkg/syscall/ztypes_netbsd_amd64.go
+++ b/src/pkg/syscall/ztypes_netbsd_amd64.go
@@ -130,11 +130,11 @@ type Flock_t struct {
}
type Dirent struct {
- Fileno uint32
+ Fileno uint64
Reclen uint16
+ Namlen uint16
Type uint8
- Namlen uint8
- Name [256]int8
+ Name [512]int8
}
type Fsid struct {