struct utimbuf ut =
struct utimbuf buf; struct utimbuf *times;  if (tvp != NULL)
__futimes (int fd, const struct timeval tvp[2]){  static const char selffd[] = "/proc/self/fd/";  char buf[sizeof (selffd) + 3 * sizeof (int)];  buf[sizeof (buf) - 1] = '\0';  char *cp = _itoa_word (fd, buf + sizeof (buf) - 1, 10, 0);  cp = memcpy (cp - sizeof (selffd) + 1, selffd, sizeof (selffd) - 1);#ifdef __NR_utimes  int result = INLINE_SYSCALL (utimes, 2, cp, tvp);# ifndef __ASSUME_UTIMES  if (result != -1 || errno != ENOSYS)# endif    return result;#endif  /* The utimes() syscall does not exist or is not available in the     used kernel.  Use utime().  For this we have to convert to the     data format utime() expects.  */#ifndef __ASSUME_UTIMES  struct utimbuf ut =    {      .actime = tvp[0].tv_sec + tvp[0].tv_usec >= 500000,      .modtime = tvp[1].tv_sec + tvp[1].tv_usec >= 500000    };  return INLINE_SYSCALL (utime, 2, cp, &ut);#endif}