2 * utimensat() for uClibc
4 * Copyright (C) 2009 Analog Devices Inc.
6 * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
9 #include <sys/syscall.h>
13 #if defined(__UCLIBC_USE_TIME64__)
14 #include "internal/time64_helpers.h"
17 #if defined(__NR_utimensat) || defined(__NR_utimensat_time64)
18 #if defined(__UCLIBC_USE_TIME64__) && defined(__NR_utimensat_time64)
19 int utimensat(int fd
, const char *path
, const struct timespec times
[2], int flags
)
21 struct __ts64_struct __times64
[2] = {
23 .tv_sec
= times
? times
[0].tv_sec
: 0,
24 .tv_nsec
= times
? times
[0].tv_nsec
: 0
27 .tv_sec
= times
? times
[1].tv_sec
: 0,
28 .tv_nsec
= times
? times
[1].tv_nsec
: 0
32 return INLINE_SYSCALL(utimensat_time64
, 4, fd
, path
, times
? (uintptr_t) &__times64
: 0, flags
);
35 _syscall4(int, utimensat
, int, fd
, const char *, path
, const struct timespec
*, times
, int, flags
)
37 libc_hidden_def(utimensat
)
39 /* should add emulation with utimens() and /proc/self/fd/ ... */