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