1package sysfs
2
3import (
4 "syscall"
5
6 "github.com/tetratelabs/wazero/experimental/sys"
7)
8
9const supportedSyscallOflag = sys.O_DIRECTORY | sys.O_DSYNC | sys.O_NOFOLLOW | sys.O_NONBLOCK
10
11func withSyscallOflag(oflag sys.Oflag, flag int) int {
12 if oflag&sys.O_DIRECTORY != 0 {
13 flag |= syscall.O_DIRECTORY
14 }
15 if oflag&sys.O_DSYNC != 0 {
16 flag |= syscall.O_DSYNC
17 }
18 if oflag&sys.O_NOFOLLOW != 0 {
19 flag |= syscall.O_NOFOLLOW
20 }
21 if oflag&sys.O_NONBLOCK != 0 {
22 flag |= syscall.O_NONBLOCK
23 }
24 // syscall.O_RSYNC not defined on darwin
25 return flag
26}