//go:build !windows // +build !windows package fs import ( "os" "runtime" "syscall" ) const defaultRootDirMode = os.ModeDir | 0700 var defaultSymlinkMode = os.ModeSymlink | 0777 func init() { switch runtime.GOOS { case "darwin": defaultSymlinkMode = os.ModeSymlink | 0755 } } func newResourceFromInfo(info os.FileInfo) resource { statT := info.Sys().(*syscall.Stat_t) return resource{ mode: info.Mode(), uid: statT.Uid, gid: statT.Gid, } } func (p *filePath) SetMode(mode os.FileMode) { p.file.mode = mode } func (p *directoryPath) SetMode(mode os.FileMode) { p.directory.mode = mode | os.ModeDir }