diff options
author | Rahat Mahmood <rahat@google.com> | 2019-12-12 11:19:18 -0800 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2019-12-12 11:20:47 -0800 |
commit | 007707a0726602bc99fc0dccaf2994ad967b9d96 (patch) | |
tree | 0928707b0d4b4c175d90472669a6ef6126798f63 /pkg/abi/linux/file.go | |
parent | 378d6c1f3697b8b939e6632e980562bfc8fb2781 (diff) |
Implement kernfs.
PiperOrigin-RevId: 285231002
Diffstat (limited to 'pkg/abi/linux/file.go')
-rw-r--r-- | pkg/abi/linux/file.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/pkg/abi/linux/file.go b/pkg/abi/linux/file.go index 0f014d27f..16791d03e 100644 --- a/pkg/abi/linux/file.go +++ b/pkg/abi/linux/file.go @@ -286,6 +286,29 @@ func (m FileMode) String() string { return strings.Join(s, "|") } +// DirentType maps file types to dirent types appropriate for (struct +// dirent)::d_type. +func (m FileMode) DirentType() uint8 { + switch m.FileType() { + case ModeSocket: + return DT_SOCK + case ModeSymlink: + return DT_LNK + case ModeRegular: + return DT_REG + case ModeBlockDevice: + return DT_BLK + case ModeDirectory: + return DT_DIR + case ModeCharacterDevice: + return DT_CHR + case ModeNamedPipe: + return DT_FIFO + default: + return DT_UNKNOWN + } +} + var modeExtraBits = abi.FlagSet{ { Flag: ModeSetUID, |