@@ -1,3 +1,12 @@
+2017-04-09 Aurelien Jarno <aurelien@aurel32.net>
+
+ [BZ #21367]
+ * sysdeps/gnu/net/if.h: wrap IFF_* enums in
+ ! __UAPI_DEF_IF_NET_DEVICE_FLAGS defines.
+ (struct ifmap): Wrap in !__UAPI_DEF_IF_IFMAP defines.
+ (struct ifreq): Wrap in !__UAPI_DEF_IF_IFREQ defines.
+ (struct ifconf): Wrap in !__UAPI_DEF_IF_IFCONF defines.
+
2017-04-07 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/i386/fpu/fclrexcpt.c (__feclearexcept): Use
@@ -39,6 +39,7 @@ struct if_nameindex
#ifdef __USE_MISC
/* Standard interface flags. */
+#if !__UAPI_DEF_IF_NET_DEVICE_FLAGS
enum
{
IFF_UP = 0x1, /* Interface is up. */
@@ -79,6 +80,7 @@ enum
IFF_DYNAMIC = 0x8000 /* Dialup device with changing addresses. */
# define IFF_DYNAMIC IFF_DYNAMIC
};
+#endif /* !__UAPI_DEF_IF_NET_DEVICE_FLAGS */
/* The ifaddr structure contains information about one address of an
interface. They are maintained by the different address families,
@@ -108,6 +110,7 @@ struct ifaddr
handy for debugging things. The set side is fine for now and being
very small might be worth keeping for clean configuration. */
+#if !__UAPI_DEF_IF_IFMAP
struct ifmap
{
unsigned long int mem_start;
@@ -118,11 +121,13 @@ struct ifmap
unsigned char port;
/* 3 bytes spare */
};
+#endif /* !__UAPI_DEF_IF_IFMAP */
/* Interface request structure used for socket ioctl's. All interface
ioctl's must have parameter definitions which begin with ifr_name.
The remainder may be interface specific. */
+#if !__UAPI_DEF_IF_IFREQ
struct ifreq
{
# define IFHWADDRLEN 6
@@ -148,6 +153,8 @@ struct ifreq
__caddr_t ifru_data;
} ifr_ifru;
};
+#endif /* !__UAPI_DEF_IF_IFREQ */
+
# define ifr_name ifr_ifrn.ifrn_name /* interface name */
# define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */
# define ifr_addr ifr_ifru.ifru_addr /* address */
@@ -173,6 +180,7 @@ struct ifreq
configuration for machine (useful for programs which must know all
networks accessible). */
+#if !__UAPI_DEF_IF_IFCONF
struct ifconf
{
int ifc_len; /* Size of buffer. */
@@ -182,6 +190,7 @@ struct ifconf
struct ifreq *ifcu_req;
} ifc_ifcu;
};
+#endif /* !__UAPI_DEF_IF_IFCONF */
# define ifc_buf ifc_ifcu.ifcu_buf /* Buffer address. */
# define ifc_req ifc_ifcu.ifcu_req /* Array of structures. */
# define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0) /* not right */