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:
Dag-Erling Smørgrav 2008-07-23 16:34:53 +00:00
parent b661868711
commit c3c6456251
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=180761

View File

@ -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>