diff options
Diffstat (limited to 'contrib/ipfilter/ipsend/sbpf.c')
| -rw-r--r-- | contrib/ipfilter/ipsend/sbpf.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/contrib/ipfilter/ipsend/sbpf.c b/contrib/ipfilter/ipsend/sbpf.c index 78b75b3157d9..b8778c669167 100644 --- a/contrib/ipfilter/ipsend/sbpf.c +++ b/contrib/ipfilter/ipsend/sbpf.c @@ -37,6 +37,9 @@ #include <string.h> #include <unistd.h> #include <stdlib.h> +#ifdef __NetBSD__ +# include <paths.h> +#endif #include <ctype.h> #include <signal.h> #include <errno.h> @@ -45,7 +48,7 @@ #if !defined(lint) static const char sccsid[] = "@(#)sbpf.c 1.3 8/25/95 (C)1995 Darren Reed"; -static const char rcsid[] = "@(#)$Id: sbpf.c,v 2.5 2002/02/24 07:30:03 darrenr Exp $"; +static const char rcsid[] = "@(#)$Id: sbpf.c,v 2.5.4.1 2006/03/21 16:32:58 darrenr Exp $"; #endif /* @@ -62,6 +65,16 @@ 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 = 0, i; @@ -76,6 +89,7 @@ int tout; fprintf(stderr, "no bpf devices available as /dev/bpfxx\n"); return -1; } +#endif if (ioctl(fd, BIOCVERSION, (caddr_t)&bv) < 0) { |
