mirror of https://github.com/k3s-io/k3s
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
614 B
28 lines
614 B
6 years ago
|
// Copyright 2017 The Go Authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style
|
||
|
// license that can be found in the LICENSE file.
|
||
|
|
||
|
package unix
|
||
|
|
||
|
import (
|
||
|
"os"
|
||
|
"syscall"
|
||
|
)
|
||
|
|
||
|
// FIXME: unexported function from os
|
||
|
// syscallMode returns the syscall-specific mode bits from Go's portable mode bits.
|
||
|
func syscallMode(i os.FileMode) (o uint32) {
|
||
|
o |= uint32(i.Perm())
|
||
|
if i&os.ModeSetuid != 0 {
|
||
|
o |= syscall.S_ISUID
|
||
|
}
|
||
|
if i&os.ModeSetgid != 0 {
|
||
|
o |= syscall.S_ISGID
|
||
|
}
|
||
|
if i&os.ModeSticky != 0 {
|
||
|
o |= syscall.S_ISVTX
|
||
|
}
|
||
|
// No mapping for Go's ModeTemporary (plan9 only).
|
||
|
return
|
||
|
}
|