aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2008-07-23 16:34:53 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2008-07-23 16:34:53 +0000
commitc3c64562513814cc753911e56b6fbe2e013681d3 (patch)
treeb202a4dfe6bc440e1b0fc2629fae39afd60d4c7f /contrib
parentb661868711922cb7b4084cc26cf9be1e2c7e0a94 (diff)
downloadsrc-c3c64562513814cc753911e56b6fbe2e013681d3.tar.gz
src-c3c64562513814cc753911e56b6fbe2e013681d3.zip
For unfathomable reasons, ipfilter abuses kernel data structures for its
own purposes. To pull this off, it defines _KERNEL before including the headers where these structures are defined. This leads to no end of trouble when some of these headers, or other headers that they include, change, as demonstrated by r180755. The quick fix in this particular case is to define _WANT_FILE instead of _KERNEL, conditional on __FreeBSD__. A better long-term fix is left as an exercise to the reader.
Notes
Notes: svn path=/head/; revision=180761
Diffstat (limited to 'contrib')
-rw-r--r--contrib/ipfilter/ipsend/sock.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/contrib/ipfilter/ipsend/sock.c b/contrib/ipfilter/ipsend/sock.c
index 9a2cfc3fb667..7d0157c9b37a 100644
--- a/contrib/ipfilter/ipsend/sock.c
+++ b/contrib/ipfilter/ipsend/sock.c
@@ -33,15 +33,23 @@ typedef int boolean_t;
# ifdef __NetBSD__
# include <machine/lock.h>
# endif
-# define _KERNEL
-# define KERNEL
+# ifdef __FreeBSD__
+# define _WANT_FILE
+# else
+# define _KERNEL
+# define KERNEL
+# endif
# ifdef ultrix
# undef LOCORE
# include <sys/smp_lock.h>
# endif
# include <sys/file.h>
-# undef _KERNEL
-# undef KERNEL
+# ifdef __FreeBSD__
+# undef _WANT_FILE
+# else
+# undef _KERNEL
+# undef KERNEL
+# endif
#endif
#include <nlist.h>
#include <sys/user.h>