Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F153166648
D38575.id117311.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D38575.id117311.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D38575: libpcap: Make pcap/bpf.h a minimal wrapper around net/bpf.h
Attached
Detach File
Event Timeline
Log In to Comment