Files
wazero/internal/sysfs/stat_unsupported.go
Crypt Keeper 34324031cb extracts FS interfaces into fsapi package and consolidates impls (#1477)
Signed-off-by: Adrian Cole <adrian@tetrate.io>
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
Co-authored-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2023-05-17 07:19:54 +03:00

43 lines
991 B
Go

//go:build (!((amd64 || arm64 || riscv64) && linux) && !((amd64 || arm64) && (darwin || freebsd)) && !((amd64 || arm64) && windows)) || js
package sysfs
import (
"io/fs"
"os"
"syscall"
"github.com/tetratelabs/wazero/internal/fsapi"
"github.com/tetratelabs/wazero/internal/platform"
)
func lstat(path string) (fsapi.Stat_t, syscall.Errno) {
t, err := os.Lstat(path)
if errno := platform.UnwrapOSError(err); errno == 0 {
return statFromFileInfo(t), 0
} else {
return fsapi.Stat_t{}, errno
}
}
func stat(path string) (fsapi.Stat_t, syscall.Errno) {
t, err := os.Stat(path)
if errno := platform.UnwrapOSError(err); errno == 0 {
return statFromFileInfo(t), 0
} else {
return fsapi.Stat_t{}, errno
}
}
func statFile(f *os.File) (fsapi.Stat_t, syscall.Errno) {
return defaultStatFile(f)
}
func inoFromFileInfo(_ string, t fs.FileInfo) (ino uint64, err syscall.Errno) {
return
}
func statFromFileInfo(t fs.FileInfo) fsapi.Stat_t {
return StatFromDefaultFileInfo(t)
}