diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2004-12-06 22:58:05 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2004-12-06 22:58:05 +0000 |
commit | 978a66ff73add1f462903af92ccf9a34f6a513c2 (patch) | |
tree | bd1998bb2337ce725cc2de989389dd872b57401b /linux-user | |
parent | f7806f9467e059c128f7442b35ed366f2ccf06ce (diff) |
utimes() support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1164 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'linux-user')
-rw-r--r-- | linux-user/arm/syscall_nr.h | 1 | ||||
-rw-r--r-- | linux-user/i386/syscall_nr.h | 1 | ||||
-rw-r--r-- | linux-user/syscall.c | 14 |
3 files changed, 16 insertions, 0 deletions
diff --git a/linux-user/arm/syscall_nr.h b/linux-user/arm/syscall_nr.h index 13a9ee11fd..195e459ec7 100644 --- a/linux-user/arm/syscall_nr.h +++ b/linux-user/arm/syscall_nr.h @@ -259,3 +259,4 @@ /* 254 for set_thread_area */ /* 255 for get_thread_area */ /* 256 for set_tid_address */ +#define TARGET_NR_utimes (269) diff --git a/linux-user/i386/syscall_nr.h b/linux-user/i386/syscall_nr.h index c994381aa3..9fa6be96ac 100644 --- a/linux-user/i386/syscall_nr.h +++ b/linux-user/i386/syscall_nr.h @@ -271,3 +271,4 @@ #define TARGET_NR_clock_getres (TARGET_NR_timer_create+7) #define TARGET_NR_clock_nanosleep (TARGET_NR_timer_create+8) +#define TARGET_NR_utimes 271 diff --git a/linux-user/syscall.c b/linux-user/syscall.c index b2965bbbd9..2407400c1f 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -1742,6 +1742,20 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, ret = get_errno(utime((const char *)arg1, tbuf1)); } break; + case TARGET_NR_utimes: + { + struct target_timeval *target_tvp = (struct target_timeval *)arg2; + struct timeval *tvp, tv[2]; + if (target_tvp) { + target_to_host_timeval(&tv[0], &target_tvp[0]); + target_to_host_timeval(&tv[1], &target_tvp[1]); + tvp = tv; + } else { + tvp = NULL; + } + ret = get_errno(utimes((const char *)arg1, tvp)); + } + break; #ifdef TARGET_NR_stty case TARGET_NR_stty: goto unimplemented; |