package os
import (
)
func ( []byte) (uint64, bool) {
return readInt(, unsafe.Offsetof(syscall.Dirent{}.Ino), unsafe.Sizeof(syscall.Dirent{}.Ino))
}
func ( []byte) (uint64, bool) {
return readInt(, unsafe.Offsetof(syscall.Dirent{}.Reclen), unsafe.Sizeof(syscall.Dirent{}.Reclen))
}
func ( []byte) (uint64, bool) {
, := direntReclen()
if ! {
return 0, false
}
return - uint64(unsafe.Offsetof(syscall.Dirent{}.Name)), true
}
func ( []byte) FileMode {
:= unsafe.Offsetof(syscall.Dirent{}.Type)
if >= uintptr(len()) {
return ^FileMode(0)
}
:= []
switch {
case syscall.DT_BLK:
return ModeDevice
case syscall.DT_CHR:
return ModeDevice | ModeCharDevice
case syscall.DT_DIR:
return ModeDir
case syscall.DT_FIFO:
return ModeNamedPipe
case syscall.DT_LNK:
return ModeSymlink
case syscall.DT_REG:
return 0
case syscall.DT_SOCK:
return ModeSocket
}
return ^FileMode(0)
}