22 lines
587 B
Go
22 lines
587 B
Go
//go:build !windows && !js && !illumos && !solaris
|
|
|
|
package sysfs
|
|
|
|
import (
|
|
"io/fs"
|
|
"os"
|
|
"syscall"
|
|
|
|
"github.com/tetratelabs/wazero/internal/platform"
|
|
)
|
|
|
|
// OpenFile is like os.OpenFile except it returns syscall.Errno. A zero
|
|
// syscall.Errno is success.
|
|
func openFile(path string, flag int, perm fs.FileMode) (*os.File, syscall.Errno) {
|
|
f, err := os.OpenFile(path, flag, perm)
|
|
// Note: This does not return a fsapi.File because fsapi.FS that returns
|
|
// one may want to hide the real OS path. For example, this is needed for
|
|
// pre-opens.
|
|
return f, platform.UnwrapOSError(err)
|
|
}
|