mirror of
https://github.com/rwinkhart/sys.git
synced 2026-08-28 04:46:44 -04:00
unix: add Statx on Linux
statx(2) allows to get enhanced file status information (not currently available through the existing stat syscalls), lightweight stat, heavyweight stat. The Statx_t type used by Statx has consistent field sizes on all arches (with year-2038-capable timestamps) and is closer to the BSD implementation of Stat_t. See http://man7.org/linux/man-pages/man2/statx.2.html for details. The syscall was added in Linux kernel 4.11. See https://github.com/tklauser/statx for an example of how this function and types can be used to report stat(1)-like file status information. Change-Id: I9e9642b5b42a393f94fd532453888ce9ba4f0003 Reviewed-on: https://go-review.googlesource.com/87555 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
committed by
Tobias Klauser
parent
52ba35ddf9
commit
fff93fa7cd
@@ -1238,6 +1238,21 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) {
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
|
||||
var _p0 *byte
|
||||
_p0, err = BytePtrFromString(path)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func Sync() {
|
||||
SyscallNoError(SYS_SYNC, 0, 0, 0)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user