| #define _BSD_SOURCE | |
| #include <sys/time.h> | |
| #include <time.h> | |
| #include <errno.h> | |
| #include "syscall.h" | |
| int settimeofday(const struct timeval *tv, const struct timezone *tz) | |
| { | |
| if (!tv) return 0; | |
| if (tv->tv_usec >= 1000000ULL) return __syscall_ret(-EINVAL); | |
| return clock_settime(CLOCK_REALTIME, &((struct timespec){ | |
| .tv_sec = tv->tv_sec, .tv_nsec = tv->tv_usec * 1000})); | |
| } |