summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksandar Markovic <amarkovic@wavecomp.com>2019-09-04 14:59:23 +0200
committerLaurent Vivier <laurent@vivier.eu>2019-09-11 08:47:06 +0200
commit4e4b173fa1661537bd94da9f9cea364dcbe6b2f5 (patch)
treefb1f09418ee8539475a67b12dd39a9564207fcf8
parent92c096f0aabc90380b82b5604e0ee73b38317e5c (diff)
downloadqemu-4e4b173fa1661537bd94da9f9cea364dcbe6b2f5.zip
linux-user: Add support for FIOGETOWN and FIOSETOWN ioctls
FIOGETOWN and FIOSETOWN ioctls have platform-specific definitions, hence non-standard definition in QEMU too. Other than that, they both have a single integer argument, and their functionality is emulated in a straightforward way. Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <1567601968-26946-4-git-send-email-aleksandar.markovic@rt-rk.com> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
-rw-r--r--linux-user/ioctls.h2
-rw-r--r--linux-user/syscall_defs.h4
2 files changed, 6 insertions, 0 deletions
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index cd9b6f9a8d..1830de96e1 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -177,6 +177,8 @@
#endif
#endif /* CONFIG_USBFS */
+ IOCTL(FIOGETOWN, IOC_R, MK_PTR(TYPE_INT))
+ IOCTL(FIOSETOWN, IOC_W, MK_PTR(TYPE_INT))
IOCTL(SIOCATMARK, IOC_R, MK_PTR(TYPE_INT))
IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_int_ifreq)))
IOCTL(SIOCGIFFLAGS, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_short_ifreq)))
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 19a1d39cbc..498223b777 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -758,10 +758,14 @@ struct target_pollfd {
#if defined(TARGET_ALPHA) || defined(TARGET_MIPS) || defined(TARGET_SH4) || \
defined(TARGET_XTENSA)
+#define TARGET_FIOGETOWN TARGET_IOR('f', 123, int)
+#define TARGET_FIOSETOWN TARGET_IOW('f', 124, int)
#define TARGET_SIOCATMARK TARGET_IOR('s', 7, int)
#define TARGET_SIOCSPGRP TARGET_IOW('s', 8, pid_t)
#define TARGET_SIOCGPGRP TARGET_IOR('s', 9, pid_t)
#else
+#define TARGET_FIOGETOWN 0x8903
+#define TARGET_FIOSETOWN 0x8901
#define TARGET_SIOCATMARK 0x8905
#define TARGET_SIOCSPGRP 0x8902
#define TARGET_SIOCGPGRP 0x8904