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