aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2010-01-05 20:35:25 -0800
committerGuy Harris <guy@alum.mit.edu>2010-01-05 20:35:25 -0800
commit2d78729d0f1c6f57e8820935e6b8b0d01e22c853 (patch)
tree5ae8f932909b72c3d27187ee2b1cabb3c42ee9d9
parentadd31c2e28feab1bf0aec0fc0ba494a7efc5fd4e (diff)
Add a pcap/ipnet.h file with IPNET definitions; use the right AF_ values.
-rw-r--r--Makefile.in1
-rw-r--r--gencode.c9
-rw-r--r--pcap/bpf.h6
-rw-r--r--pcap/ipnet.h43
4 files changed, 50 insertions, 9 deletions
diff --git a/Makefile.in b/Makefile.in
index 993aa3c..53801c1 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -99,6 +99,7 @@ PUBHDR = \
pcap-namedb.h \
pcap/bpf.h \
pcap/bluetooth.h \
+ pcap/ipnet.h \
pcap/namedb.h \
pcap/pcap.h \
pcap/sll.h \
diff --git a/gencode.c b/gencode.c
index 629ef5c..b0abe00 100644
--- a/gencode.c
+++ b/gencode.c
@@ -74,6 +74,7 @@ static const char rcsid[] _U_ =
#include "sunatmpos.h"
#include "ppp.h"
#include "pcap/sll.h"
+#include "pcap/ipnet.h"
#include "arcnet.h"
#ifdef HAVE_NET_PFVAR_H
#include <sys/socket.h>
@@ -2021,16 +2022,18 @@ gen_ipnet_linktype(proto)
register int proto;
{
switch (proto) {
+
case ETHERTYPE_IP:
return gen_cmp(OR_LINK, off_linktype, BPF_B,
- (bpf_int32)AF_INET);
+ (bpf_int32)IPH_AF_INET);
/* NOTREACHED */
case ETHERTYPE_IPV6:
return gen_cmp(OR_LINK, off_linktype, BPF_B,
- (bpf_int32)AF_INET6);
+ (bpf_int32)IPH_AF_INET6);
/* NOTREACHED */
- default :
+
+ default:
break;
}
diff --git a/pcap/bpf.h b/pcap/bpf.h
index 706ed23..eff892c 100644
--- a/pcap/bpf.h
+++ b/pcap/bpf.h
@@ -961,12 +961,6 @@ struct bpf_version {
#define DLT_IPV6 229
/*
- * IPNET
- */
-#define IPNET_OUTBOUND 1
-#define IPNET_INBOUND 2
-
-/*
* DLT and savefile link type values are split into a class and
* a member of that class. A class value of 0 indicates a regular
* DLT_/LINKTYPE_ value.
diff --git a/pcap/ipnet.h b/pcap/ipnet.h
new file mode 100644
index 0000000..5330847
--- /dev/null
+++ b/pcap/ipnet.h
@@ -0,0 +1,43 @@
+/*-
+ * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from the Stanford/CMU enet packet filter,
+ * (net/enet.c) distributed as part of 4.3BSD, and code contributed
+ * to Berkeley by Steven McCanne and Van Jacobson both of Lawrence
+ * Berkeley Laboratory.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#define IPH_AF_INET 2 /* Matches Solaris's AF_INET */
+#define IPH_AF_INET6 26 /* Matches Solaris's AF_INET6 */
+
+#define IPNET_OUTBOUND 1
+#define IPNET_INBOUND 2