utimes() support
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 6 Dec 2004 22:58:05 +0000 (22:58 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 6 Dec 2004 22:58:05 +0000 (22:58 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1164 c046a42c-6fe2-441c-8c8c-71466251a162

linux-user/arm/syscall_nr.h
linux-user/i386/syscall_nr.h
linux-user/syscall.c

index 13a9ee1..195e459 100644 (file)
                                        /* 254 for set_thread_area */
                                        /* 255 for get_thread_area */
                                        /* 256 for set_tid_address */
+#define TARGET_NR_utimes                       (269)
index c994381..9fa6be9 100644 (file)
 #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
index b2965bb..2407400 100644 (file)
@@ -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;