package sysfs

import (
	
	

	

	experimentalsys 
)

const _UTIME_OMIT = unix.UTIME_OMIT

func utimens( string, ,  int64) experimentalsys.Errno {
	 := timesToTimespecs(, )
	if  == nil {
		return 0
	}
	return experimentalsys.UnwrapOSError(syscall.UtimesNano(, [:]))
}

// On linux, implement futimens via utimensat with the NUL path.
func futimens( uintptr, ,  int64) experimentalsys.Errno {
	 := timesToTimespecs(, )
	if  == nil {
		return 0
	}
	return experimentalsys.UnwrapOSError(utimensat(int(), 0 /* NUL */, , 0))
}

// utimensat is like syscall.utimensat special-cased to accept a NUL string for the path value.
func utimensat( int,  uintptr,  *[2]syscall.Timespec,  int) ( error) {
	, ,  := syscall.Syscall6(syscall.SYS_UTIMENSAT, uintptr(), , uintptr(unsafe.Pointer()), uintptr(), 0, 0)
	if  != 0 {
		 = 
	}
	return
}