diff --git a/unix/linux/types.go b/unix/linux/types.go index d563a0cf..c8d176ef 100644 --- a/unix/linux/types.go +++ b/unix/linux/types.go @@ -902,6 +902,9 @@ const ( AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW AT_EACCESS = C.AT_EACCESS + + OPEN_TREE_CLONE = C.OPEN_TREE_CLONE + OPEN_TREE_CLOEXEC = C.OPEN_TREE_CLOEXEC ) type OpenHow C.struct_open_how diff --git a/unix/syscall_linux.go b/unix/syscall_linux.go index bda98498..298323eb 100644 --- a/unix/syscall_linux.go +++ b/unix/syscall_linux.go @@ -1860,6 +1860,7 @@ func Getpgrp() (pid int) { //sys Mkdirat(dirfd int, path string, mode uint32) (err error) //sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys OpenTree(dfd int, fileName string, flags uint) (r int, err error) //sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) //sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT //sysnb Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64 diff --git a/unix/zsyscall_linux.go b/unix/zsyscall_linux.go index 78d74520..ca65ac82 100644 --- a/unix/zsyscall_linux.go +++ b/unix/zsyscall_linux.go @@ -1215,6 +1215,22 @@ func Nanosleep(time *Timespec, leftover *Timespec) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func OpenTree(dfd int, fileName string, flags uint) (r int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fileName) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN_TREE, uintptr(dfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + r = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) fd = int(r0) diff --git a/unix/ztypes_linux.go b/unix/ztypes_linux.go index 2c26466e..41b0cd09 100644 --- a/unix/ztypes_linux.go +++ b/unix/ztypes_linux.go @@ -750,6 +750,9 @@ const ( AT_RECURSIVE = 0x8000 + OPEN_TREE_CLONE = 0x1 + OPEN_TREE_CLOEXEC = 0x80000 + AT_SYMLINK_FOLLOW = 0x400 AT_SYMLINK_NOFOLLOW = 0x100