1/*-
2 * Test 0019:	BPF_JMP+BPF_JSET+BPF_K
3 *
4 * $FreeBSD$
5 */
6
7/* BPF program */
8struct bpf_insn pc[] = {
9	BPF_STMT(BPF_LD+BPF_IMM, 0x01234567),
10	BPF_JUMP(BPF_JMP+BPF_JSET+BPF_K, 0x80000000, 5, 0),
11	BPF_JUMP(BPF_JMP+BPF_JSET+BPF_K, 0x40000000, 4, 0),
12	BPF_JUMP(BPF_JMP+BPF_JSET+BPF_K, 0x20000000, 3, 0),
13	BPF_JUMP(BPF_JMP+BPF_JSET+BPF_K, 0x10000000, 2, 0),
14	BPF_JUMP(BPF_JMP+BPF_JSET+BPF_K, 0x1, 2, 1),
15	BPF_STMT(BPF_LD+BPF_IMM, 0xdeadc0de),
16	BPF_STMT(BPF_RET+BPF_A, 0),
17	BPF_JUMP(BPF_JMP+BPF_JSET+BPF_K, 0x08000000, 3, 0),
18	BPF_JUMP(BPF_JMP+BPF_JSET+BPF_K, 0x04000000, 2, 0),
19	BPF_JUMP(BPF_JMP+BPF_JSET+BPF_K, 0x02000000, 1, 0),
20	BPF_STMT(BPF_LD+BPF_IMM, 0xc0decafe),
21	BPF_STMT(BPF_RET+BPF_A, 0),
22};
23
24/* Packet */
25u_char	pkt[] = {
26	0x00,
27};
28
29/* Packet length seen on wire */
30u_int	wirelen =	sizeof(pkt);
31
32/* Packet length passed on buffer */
33u_int	buflen =	sizeof(pkt);
34
35/* Invalid instruction */
36int	invalid =	0;
37
38/* Expected return value */
39u_int	expect =	0xc0decafe;
40
41/* Expected signal */
42int	expect_signal =	0;
43