mirror of
https://github.com/rwinkhart/sys.git
synced 2026-09-05 08:37:31 -04:00
unix: add utimensat and use it for UtimesNano on BSD
Follow golang.org/cl/55130 and add the utimensat syscall on *BSD. Use it in UtimesNano and UtimesNanoAt (which is added on *BSD, akin to the already existing implementation on Linux and Solaris). Also add AT_FDCWD and AT_SYMLINK_NOFOLLOW where they are missing. These might be used with UtimesNanoAt. In order to be able to generate the syscalls, also add two missing $GOOS_$GOARCH patterns to mkall.sh. As a side effect, some additional syscalls are added for openbsd/arm. Change-Id: I85351098002209f8454ec328cef0cfe9d12c5214 Reviewed-on: https://go-review.googlesource.com/55071 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
committed by
Ian Lance Taylor
parent
c84c1ab9fd
commit
2d3e384235
@@ -1,5 +1,5 @@
|
||||
// mksyscall.pl -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go
|
||||
// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
|
||||
// Code generated by the command above; see README.md. DO NOT EDIT.
|
||||
|
||||
// +build netbsd,386
|
||||
|
||||
@@ -1297,3 +1297,18 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
|
||||
var _p0 *byte
|
||||
_p0, err = BytePtrFromString(path)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user