1package dirent
2
3import (
4 "os"
5 "syscall"
6 "unsafe"
7)
8
9func direntIno(buf []byte) (uint64, bool) {
10 return 1, true
11}
12
13func direntReclen(buf []byte) (uint64, bool) {
14 return readInt(buf, unsafe.Offsetof(syscall.Dirent{}.Reclen), unsafe.Sizeof(syscall.Dirent{}.Reclen))
15}
16
17func direntNamlen(buf []byte) (uint64, bool) {
18 reclen, ok := direntReclen(buf)
19 if !ok {
20 return 0, false
21 }
22 return reclen - uint64(unsafe.Offsetof(syscall.Dirent{}.Name)), true
23}
24
25func direntType(buf []byte) os.FileMode {
26 return ^os.FileMode(0) // unknown
27}