This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 3/4] Installed-header compilation hygiene, 3/4 (struct ifreq).
- From: Zack Weinberg <zackw at panix dot com>
- To: libc-alpha at sourceware dot org
- Date: Wed, 13 Jul 2016 16:46:00 -0400
- Subject: [PATCH 3/4] Installed-header compilation hygiene, 3/4 (struct ifreq).
- Authentication-results: sourceware.org; auth=none
- References: <cover.1468441534.git.zackw@panix.com>
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(+)
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.
--
2.8.1