aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux-user/ioctls.h12
-rw-r--r--linux-user/syscall_types.h22
2 files changed, 30 insertions, 4 deletions
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index f2e2fa9c87..0713ae1311 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -279,13 +279,17 @@
* FIXME: create a macro to define this kind of entry
*/
{ TARGET_SIOCGSTAMP_OLD, TARGET_SIOCGSTAMP_OLD,
- "SIOCGSTAMP_OLD", IOC_R, do_ioctl_SIOCGSTAMP },
+ "SIOCGSTAMP_OLD", IOC_R, do_ioctl_SIOCGSTAMP,
+ { MK_PTR(MK_STRUCT(STRUCT_timeval)) } },
{ TARGET_SIOCGSTAMPNS_OLD, TARGET_SIOCGSTAMPNS_OLD,
- "SIOCGSTAMPNS_OLD", IOC_R, do_ioctl_SIOCGSTAMPNS },
+ "SIOCGSTAMPNS_OLD", IOC_R, do_ioctl_SIOCGSTAMPNS,
+ { MK_PTR(MK_STRUCT(STRUCT_timespec)) } },
{ TARGET_SIOCGSTAMP_NEW, TARGET_SIOCGSTAMP_NEW,
- "SIOCGSTAMP_NEW", IOC_R, do_ioctl_SIOCGSTAMP },
+ "SIOCGSTAMP_NEW", IOC_R, do_ioctl_SIOCGSTAMP,
+ { MK_PTR(MK_STRUCT(STRUCT__kernel_sock_timeval)) } },
{ TARGET_SIOCGSTAMPNS_NEW, TARGET_SIOCGSTAMPNS_NEW,
- "SIOCGSTAMPNS_NEW", IOC_R, do_ioctl_SIOCGSTAMPNS },
+ "SIOCGSTAMPNS_NEW", IOC_R, do_ioctl_SIOCGSTAMPNS,
+ { MK_PTR(MK_STRUCT(STRUCT__kernel_timespec)) } },
IOCTL(RNDGETENTCNT, IOC_R, MK_PTR(TYPE_INT))
IOCTL(RNDADDTOENTCNT, IOC_W, MK_PTR(TYPE_INT))
diff --git a/linux-user/syscall_types.h b/linux-user/syscall_types.h
index e2b0484f50..3f1f033464 100644
--- a/linux-user/syscall_types.h
+++ b/linux-user/syscall_types.h
@@ -137,10 +137,32 @@ STRUCT(snd_timer_params,
TYPE_INT, /* filter */
MK_ARRAY(TYPE_CHAR, 60)) /* reserved */
+#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
+STRUCT(timeval,
+ TYPE_LONG, /* tv_sec */
+ TYPE_INT) /* tv_usec */
+
+STRUCT(_kernel_sock_timeval,
+ TYPE_LONG, /* tv_sec */
+ TYPE_INT) /* tv_usec */
+#else
+STRUCT(timeval,
+ TYPE_LONG, /* tv_sec */
+ TYPE_LONG) /* tv_usec */
+
+STRUCT(_kernel_sock_timeval,
+ TYPE_LONGLONG, /* tv_sec */
+ TYPE_LONGLONG) /* tv_usec */
+#endif
+
STRUCT(timespec,
TYPE_LONG, /* tv_sec */
TYPE_LONG) /* tv_nsec */
+STRUCT(_kernel_timespec,
+ TYPE_LONGLONG, /* tv_sec */
+ TYPE_LONGLONG) /* tv_nsec */
+
STRUCT(snd_timer_status,
MK_STRUCT(STRUCT_timespec), /* tstamp */
TYPE_INT, /* resolution */