diff options
Diffstat (limited to 'vendor/golang.org/x/sys/unix/readdirent_getdirentries.go')
| -rw-r--r-- | vendor/golang.org/x/sys/unix/readdirent_getdirentries.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go b/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go new file mode 100644 index 0000000..2a4ba47 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | // Copyright 2019 The Go Authors. All rights reserved. | ||
| 2 | // Use of this source code is governed by a BSD-style | ||
| 3 | // license that can be found in the LICENSE file. | ||
| 4 | |||
| 5 | //go:build darwin | ||
| 6 | // +build darwin | ||
| 7 | |||
| 8 | package unix | ||
| 9 | |||
| 10 | import "unsafe" | ||
| 11 | |||
| 12 | // ReadDirent reads directory entries from fd and writes them into buf. | ||
| 13 | func ReadDirent(fd int, buf []byte) (n int, err error) { | ||
| 14 | // Final argument is (basep *uintptr) and the syscall doesn't take nil. | ||
| 15 | // 64 bits should be enough. (32 bits isn't even on 386). Since the | ||
| 16 | // actual system call is getdirentries64, 64 is a good guess. | ||
| 17 | // TODO(rsc): Can we use a single global basep for all calls? | ||
| 18 | var base = (*uintptr)(unsafe.Pointer(new(uint64))) | ||
| 19 | return Getdirentries(fd, buf, base) | ||
| 20 | } | ||
