[3/4] Installed-header compilation hygiene, 3/4 (struct ifreq).

Message ID 2177539979b298afd190082839761d7bb66c5af8.1468441534.git.zackw@panix.com
State Superseded
Headers

Commit Message

Zack Weinberg July 13, 2016, 8:46 p.m. UTC
  It's unclear to me whether this is the right change, or whether
instead net/if.h's definition of struct ifreq should be unconditional.
This has the smaller set of side effects.

net/if_ppp.h declares itself to be imported from an external source,
but that last happened in 1996 so I think it's probably a dead letter.

The Linux and Hurd versions of this file are identical, perhaps
they should be un-sysdep-ified.

zw

	BZ #20366, 2/4 (struct ifreq)

	* sysdeps/mach/hurd/net/if_ppp.h
	* sysdeps/unix/sysv/linux/net/if_ppp.h:
        Only define struct ifpppstatsreq and struct ifpppcstatsreq
        if __USE_MISC is defined.
---
 sysdeps/mach/hurd/net/if_ppp.h       | 3 +++
 sysdeps/unix/sysv/linux/net/if_ppp.h | 3 +++
 2 files changed, 6 insertions(+)
  

Patch

diff --git a/sysdeps/mach/hurd/net/if_ppp.h b/sysdeps/mach/hurd/net/if_ppp.h
index 1b1c3ea..d95d247 100644
--- a/sysdeps/mach/hurd/net/if_ppp.h
+++ b/sysdeps/mach/hurd/net/if_ppp.h
@@ -119,6 +119,8 @@  struct ppp_option_data {
 	int	  transmit;
 };
 
+/* 'struct ifreq' is only available from net/if.h under __USE_MISC.  */
+#ifdef __USE_MISC
 struct ifpppstatsreq {
   struct ifreq	   b;
   struct ppp_stats stats;			/* statistic information */
@@ -131,6 +133,7 @@  struct ifpppcstatsreq {
 
 #define ifr__name       b.ifr_ifrn.ifrn_name
 #define stats_ptr       b.ifr_ifru.ifru_data
+#endif
 
 /*
  * Ioctl definitions.
diff --git a/sysdeps/unix/sysv/linux/net/if_ppp.h b/sysdeps/unix/sysv/linux/net/if_ppp.h
index 1b1c3ea..d95d247 100644
--- a/sysdeps/unix/sysv/linux/net/if_ppp.h
+++ b/sysdeps/unix/sysv/linux/net/if_ppp.h
@@ -119,6 +119,8 @@  struct ppp_option_data {
 	int	  transmit;
 };
 
+/* 'struct ifreq' is only available from net/if.h under __USE_MISC.  */
+#ifdef __USE_MISC
 struct ifpppstatsreq {
   struct ifreq	   b;
   struct ppp_stats stats;			/* statistic information */
@@ -131,6 +133,7 @@  struct ifpppcstatsreq {
 
 #define ifr__name       b.ifr_ifrn.ifrn_name
 #define stats_ptr       b.ifr_ifru.ifru_data
+#endif
 
 /*
  * Ioctl definitions.