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.
This commit is contained in:
des 2008-07-23 16:34:53 +00:00
parent 8f8e4f1bbb
commit 4cb5c18630

View File

@ -33,15 +33,23 @@ typedef int boolean_t;
# ifdef __NetBSD__
# include <machine/lock.h>
# endif
# 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>
# ifdef __FreeBSD__
# undef _WANT_FILE
# else
# undef _KERNEL
# undef KERNEL
# endif
#endif
#include <nlist.h>
#include <sys/user.h>