summaryrefslogtreecommitdiffstats
path: root/contrib/ipfilter/ipsd/sbpf.c
diff options
context:
space:
mode:
authorguido <guido@FreeBSD.org>2006-08-16 11:51:32 +0000
committerguido <guido@FreeBSD.org>2006-08-16 11:51:32 +0000
commit092f5d1218f4867a87b382d75613b9d2b3e56c18 (patch)
treee49755bc5470450d9acf44918f68b5acd3915e51 /contrib/ipfilter/ipsd/sbpf.c
parent9749beb9e35afd40d054e5592764d50ed069a890 (diff)
downloadFreeBSD-src-092f5d1218f4867a87b382d75613b9d2b3e56c18.zip
FreeBSD-src-092f5d1218f4867a87b382d75613b9d2b3e56c18.tar.gz
Import IP Filter 4.1.13
Diffstat (limited to 'contrib/ipfilter/ipsd/sbpf.c')
-rw-r--r--contrib/ipfilter/ipsd/sbpf.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/contrib/ipfilter/ipsd/sbpf.c b/contrib/ipfilter/ipsd/sbpf.c
index 97bb4ce..457891b 100644
--- a/contrib/ipfilter/ipsd/sbpf.c
+++ b/contrib/ipfilter/ipsd/sbpf.c
@@ -9,6 +9,9 @@
#include <ctype.h>
#include <signal.h>
#include <errno.h>
+#ifdef __NetBSD__
+# include <paths.h>
+#endif
#include <sys/types.h>
#include <sys/param.h>
#include <sys/mbuf.h>
@@ -121,8 +124,18 @@ int tout;
struct bpf_version bv;
struct timeval to;
struct ifreq ifr;
+#ifdef _PATH_BPF
+ char *bpfname = _PATH_BPF;
+ int fd;
+
+ if ((fd = open(bpfname, O_RDWR)) < 0)
+ {
+ fprintf(stderr, "no bpf devices available as /dev/bpfxx\n");
+ return -1;
+ }
+#else
char bpfname[16];
- int fd, i;
+ int fd = -1, i;
for (i = 0; i < 16; i++)
{
@@ -135,6 +148,7 @@ int tout;
fprintf(stderr, "no bpf devices available as /dev/bpfxx\n");
return -1;
}
+#endif
if (ioctl(fd, BIOCVERSION, (caddr_t)&bv) < 0)
{
OpenPOWER on IntegriCloud