1#include <fcntl.h>
2#include <sys/stat.h>
3#include <time.h>
4#include <utime.h>
5
6int utime(const char* path, const struct utimbuf* times) {
7    return utimensat(
8        AT_FDCWD, path,
9        times ? ((struct timespec[2]){{.tv_sec = times->actime}, {.tv_sec = times->modtime}}) : 0,
10        0);
11}
12