blob: 670e3591028a42fcc3e552e855e5c2c8af212d0d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
//go:build !windows && !tinygo
package sysfs
import (
"io/fs"
"os"
"github.com/tetratelabs/wazero/experimental/sys"
)
// openFile is like os.OpenFile except it accepts a sys.Oflag and returns
// sys.Errno. A zero sys.Errno is success.
func openFile(path string, oflag sys.Oflag, perm fs.FileMode) (*os.File, sys.Errno) {
f, err := os.OpenFile(path, toOsOpenFlag(oflag), perm)
// Note: This does not return a sys.File because sys.FS that returns
// one may want to hide the real OS path. For example, this is needed for
// pre-opens.
return f, sys.UnwrapOSError(err)
}
|