Page MenuHomeFreeBSD

D38575.id117311.diff
No OneTemporary

D38575.id117311.diff

diff --git a/contrib/libpcap/pcap/bpf.h b/contrib/libpcap/pcap/bpf.h
--- a/contrib/libpcap/pcap/bpf.h
+++ b/contrib/libpcap/pcap/bpf.h
@@ -74,184 +74,11 @@
extern "C" {
#endif
-/* BSD style release date */
-#define BPF_RELEASE 199606
-
-#ifdef MSDOS /* must be 32-bit */
-typedef long bpf_int32;
-typedef unsigned long bpf_u_int32;
-#else
-typedef int bpf_int32;
-typedef u_int bpf_u_int32;
-#endif
-
-/*
- * Alignment macros. BPF_WORDALIGN rounds up to the next
- * even multiple of BPF_ALIGNMENT.
- *
- * Tcpdump's print-pflog.c uses this, so we define it here.
- */
-#ifndef __NetBSD__
-#define BPF_ALIGNMENT sizeof(bpf_int32)
-#else
-#define BPF_ALIGNMENT sizeof(long)
-#endif
-#define BPF_WORDALIGN(x) (((x)+(BPF_ALIGNMENT-1))&~(BPF_ALIGNMENT-1))
-
-/*
- * Structure for "pcap_compile()", "pcap_setfilter()", etc..
- */
-struct bpf_program {
- u_int bf_len;
- struct bpf_insn *bf_insns;
-};
-
-#include <pcap/dlt.h>
-
-/*
- * The instruction encodings.
- *
- * Please inform tcpdump-workers@lists.tcpdump.org if you use any
- * of the reserved values, so that we can note that they're used
- * (and perhaps implement it in the reference BPF implementation
- * and encourage its implementation elsewhere).
- */
-
-/*
- * The upper 8 bits of the opcode aren't used. BSD/OS used 0x8000.
- */
-
-/* instruction classes */
-#define BPF_CLASS(code) ((code) & 0x07)
-#define BPF_LD 0x00
-#define BPF_LDX 0x01
-#define BPF_ST 0x02
-#define BPF_STX 0x03
-#define BPF_ALU 0x04
-#define BPF_JMP 0x05
-#define BPF_RET 0x06
-#define BPF_MISC 0x07
-
-/* ld/ldx fields */
-#define BPF_SIZE(code) ((code) & 0x18)
-#define BPF_W 0x00
-#define BPF_H 0x08
-#define BPF_B 0x10
-/* 0x18 reserved; used by BSD/OS */
-#define BPF_MODE(code) ((code) & 0xe0)
-#define BPF_IMM 0x00
-#define BPF_ABS 0x20
-#define BPF_IND 0x40
-#define BPF_MEM 0x60
-#define BPF_LEN 0x80
-#define BPF_MSH 0xa0
-/* 0xc0 reserved; used by BSD/OS */
-/* 0xe0 reserved; used by BSD/OS */
-
-/* alu/jmp fields */
-#define BPF_OP(code) ((code) & 0xf0)
-#define BPF_ADD 0x00
-#define BPF_SUB 0x10
-#define BPF_MUL 0x20
-#define BPF_DIV 0x30
-#define BPF_OR 0x40
-#define BPF_AND 0x50
-#define BPF_LSH 0x60
-#define BPF_RSH 0x70
-#define BPF_NEG 0x80
-#define BPF_MOD 0x90
-#define BPF_XOR 0xa0
-/* 0xb0 reserved */
-/* 0xc0 reserved */
-/* 0xd0 reserved */
-/* 0xe0 reserved */
-/* 0xf0 reserved */
-
-#define BPF_JA 0x00
-#define BPF_JEQ 0x10
-#define BPF_JGT 0x20
-#define BPF_JGE 0x30
-#define BPF_JSET 0x40
-/* 0x50 reserved; used on BSD/OS */
-/* 0x60 reserved */
-/* 0x70 reserved */
-/* 0x80 reserved */
-/* 0x90 reserved */
-/* 0xa0 reserved */
-/* 0xb0 reserved */
-/* 0xc0 reserved */
-/* 0xd0 reserved */
-/* 0xe0 reserved */
-/* 0xf0 reserved */
-#define BPF_SRC(code) ((code) & 0x08)
-#define BPF_K 0x00
-#define BPF_X 0x08
-
-/* ret - BPF_K and BPF_X also apply */
-#define BPF_RVAL(code) ((code) & 0x18)
-#define BPF_A 0x10
-/* 0x18 reserved */
-
-/* misc */
-#define BPF_MISCOP(code) ((code) & 0xf8)
-#define BPF_TAX 0x00
-/* 0x08 reserved */
-/* 0x10 reserved */
-/* 0x18 reserved */
-/* #define BPF_COP 0x20 NetBSD "coprocessor" extensions */
-/* 0x28 reserved */
-/* 0x30 reserved */
-/* 0x38 reserved */
-/* #define BPF_COPX 0x40 NetBSD "coprocessor" extensions */
-/* also used on BSD/OS */
-/* 0x48 reserved */
-/* 0x50 reserved */
-/* 0x58 reserved */
-/* 0x60 reserved */
-/* 0x68 reserved */
-/* 0x70 reserved */
-/* 0x78 reserved */
-#define BPF_TXA 0x80
-/* 0x88 reserved */
-/* 0x90 reserved */
-/* 0x98 reserved */
-/* 0xa0 reserved */
-/* 0xa8 reserved */
-/* 0xb0 reserved */
-/* 0xb8 reserved */
-/* 0xc0 reserved; used on BSD/OS */
-/* 0xc8 reserved */
-/* 0xd0 reserved */
-/* 0xd8 reserved */
-/* 0xe0 reserved */
-/* 0xe8 reserved */
-/* 0xf0 reserved */
-/* 0xf8 reserved */
-
-/*
- * The instruction data structure.
- */
-struct bpf_insn {
- u_short code;
- u_char jt;
- u_char jf;
- bpf_u_int32 k;
-};
-
-/*
- * Macros for insn array initializers.
- */
-#define BPF_STMT(code, k) { (u_short)(code), 0, 0, k }
-#define BPF_JUMP(code, k, jt, jf) { (u_short)(code), jt, jf, k }
+#include <net/bpf.h>
PCAP_API int bpf_validate(const struct bpf_insn *, int);
PCAP_API u_int bpf_filter(const struct bpf_insn *, const u_char *, u_int, u_int);
-/*
- * Number of scratch memory words (for BPF_LD|BPF_MEM and BPF_ST).
- */
-#define BPF_MEMWORDS 16
-
#ifdef __cplusplus
}
#endif
diff --git a/contrib/libpcap/pcap/pcap.h b/contrib/libpcap/pcap/pcap.h
--- a/contrib/libpcap/pcap/pcap.h
+++ b/contrib/libpcap/pcap/pcap.h
@@ -85,7 +85,10 @@
#endif /* _WIN32/MSDOS/UN*X */
#include <pcap/socket.h> /* for SOCKET, as the active-mode rpcap APIs use it */
-#include <net/bpf.h>
+
+#ifndef PCAP_DONT_INCLUDE_PCAP_BPF_H
+#include <pcap/bpf.h>
+#endif
#include <stdio.h>

File Metadata

Mime Type
text/plain
Expires
Mon, Apr 20, 1:52 PM (1 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31843739
Default Alt Text
D38575.id117311.diff (4 KB)

Event Timeline