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