[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 3/5] linux-user: Add support the SIOC<G|S>IFPFLAG
From: |
Aleksandar Markovic |
Subject: |
[Qemu-devel] [PATCH v4 3/5] linux-user: Add support the SIOC<G|S>IFPFLAGS ioctls for all targets |
Date: |
Fri, 3 May 2019 19:50:44 +0200 |
From: Neng Chen <address@hidden>
Add support for getting and setting extended private flags of a
network device via SIOCSIFPFLAGS and SIOCGIFPFLAGS ioctls.
The ioctl numeric values are platform-independent and determined by
the file include/uapi/linux/sockios.h in Linux kernel source code:
#define SIOCSIFPFLAGS 0x8934
#define SIOCGIFPFLAGS 0x8935
These ioctls get (or set) the field ifr_flags of type short in the
structure ifreq. Such functionality is achieved in QEMU by using
MK_STRUCT() and MK_PTR() macros with an appropriate argument, as
it was done for existing similar cases.
Signed-off-by: Neng Chen <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Message-Id: <address@hidden>
---
linux-user/ioctls.h | 2 ++
linux-user/syscall_defs.h | 2 ++
2 files changed, 4 insertions(+)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index c37adc5..76375df 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -206,6 +206,8 @@
IOCTL(SIOCADDMULTI, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq)))
IOCTL(SIOCDELMULTI, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq)))
IOCTL(SIOCGIFINDEX, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_int_ifreq)))
+ IOCTL(SIOCSIFPFLAGS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_short_ifreq)))
+ IOCTL(SIOCGIFPFLAGS, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_short_ifreq)))
IOCTL(SIOCSIFLINK, 0, TYPE_NULL)
IOCTL_SPECIAL(SIOCGIFCONF, IOC_W | IOC_R, do_ioctl_ifconf,
MK_PTR(MK_STRUCT(STRUCT_ifconf)))
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 2941231..8904d35 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -781,6 +781,8 @@ struct target_pollfd {
#define TARGET_SIOCADDMULTI 0x8931 /* Multicast address lists
*/
#define TARGET_SIOCDELMULTI 0x8932
#define TARGET_SIOCGIFINDEX 0x8933
+#define TARGET_SIOCSIFPFLAGS 0x8934 /* set extended flags
*/
+#define TARGET_SIOCGIFPFLAGS 0x8935 /* get extended flags
*/
/* Bridging control calls */
#define TARGET_SIOCGIFBR 0x8940 /* Bridging support
*/
--
2.7.4
- [Qemu-devel] [PATCH v4 0/5] linux-user: A set of miscellaneous patches, Aleksandar Markovic, 2019/05/03
- [Qemu-devel] [PATCH v4 1/5] linux-user: Fix support for the SIOCATMARK and SIOCGPGRP ioctls for xtensa, Aleksandar Markovic, 2019/05/03
- [Qemu-devel] [PATCH v4 2/5] linux-user: Add support for the SIOCSPGRP ioctl for all targets, Aleksandar Markovic, 2019/05/03
- [Qemu-devel] [PATCH v4 3/5] linux-user: Add support the SIOC<G|S>IFPFLAGS ioctls for all targets,
Aleksandar Markovic <=
- [Qemu-devel] [PATCH v4 4/5] linux-user: Add support for setsockopt() options IPV6_<ADD|DROP>_MEMBERSHIP, Aleksandar Markovic, 2019/05/03
- [Qemu-devel] [PATCH v4 5/5] linux-user: Sanitize interp_info and, for mips only, init field fp_abi, Aleksandar Markovic, 2019/05/03