open_file_darwin.go

 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}