summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2006-12-10 10:51:12 +0000
committerJakub Jelinek <jakub@redhat.com>2006-12-10 10:51:12 +0000
commit985d254c909903787e4bbc517af30406e0e9df8b (patch)
tree403d862acdfce3eb2a228b1189374c95b614151e /sysdeps
parentb0ec19ce6e64c405fdd95c90a5d4212f86abea1f (diff)
* sysdeps/unix/sysv/linux/netlinkaccess.h: Include linux/if_addr.hcvs/fedora-glibc-2_5_90-12
if IFA_MAX is not defined. (IFA_RTA, IFA_PAYLOAD, IFLA_RTA, IFLA_PAYLOAD): Define if not defined. * sysdeps/unix/sysv/linux/check_pf.c: Include netlinkaccess.h instead of asm/types.h, linux/netlink.h and linux/rtnetlink.h.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/sysv/linux/check_pf.c5
-rw-r--r--sysdeps/unix/sysv/linux/netlinkaccess.h18
2 files changed, 19 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/check_pf.c b/sysdeps/unix/sysv/linux/check_pf.c
index 13ccd7acb4..ebe4d699b1 100644
--- a/sysdeps/unix/sysv/linux/check_pf.c
+++ b/sysdeps/unix/sysv/linux/check_pf.c
@@ -27,13 +27,10 @@
#include <unistd.h>
#include <sys/socket.h>
-#include <asm/types.h>
-#include <linux/netlink.h>
-#include <linux/rtnetlink.h>
-
#include <not-cancel.h>
#include <kernel-features.h>
+#include "netlinkaccess.h"
#ifndef IFA_F_TEMPORARY
# define IFA_F_TEMPORARY IFA_F_SECONDARY
diff --git a/sysdeps/unix/sysv/linux/netlinkaccess.h b/sysdeps/unix/sysv/linux/netlinkaccess.h
index 92310b77df..48903d3725 100644
--- a/sysdeps/unix/sysv/linux/netlinkaccess.h
+++ b/sysdeps/unix/sysv/linux/netlinkaccess.h
@@ -25,6 +25,24 @@
#include <kernel-features.h>
+#ifndef IFA_MAX
+/* 2.6.19 kernel headers helpfully removed some macros and
+ moved lots of stuff into new headers, some of which aren't
+ included by linux/rtnetlink.h. */
+#include <linux/if_addr.h>
+#endif
+
+#ifndef IFA_RTA
+# define IFA_RTA(r) \
+ ((struct rtattr*) ((char*)(r) + NLMSG_ALIGN (sizeof (struct ifaddrmsg))))
+# define IFA_PAYLOAD(n) NLMSG_PAYLOAD (n, sizeof (struct ifaddrmsg))
+#endif
+
+#ifndef IFLA_RTA
+# define IFLA_RTA(r) \
+ ((struct rtattr*) ((char*)(r) + NLMSG_ALIGN (sizeof (struct ifinfomsg))))
+# define IFLA_PAYLOAD(n) NLMSG_PAYLOAD (n, sizeof (struct ifinfomsg))
+#endif
struct netlink_res
{