X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=i686-linux-gnu-4.7%2Fusr%2Finclude%2Flinux%2Fnetfilter%2Fxt_bpf.h;fp=i686-linux-gnu-4.7%2Fusr%2Finclude%2Flinux%2Fnetfilter%2Fxt_bpf.h;h=a05adda26d3e61330cf0d169d6ecb921958d4471;hb=94df942c2c7bd3457276fe5b7367623cbb8c1302;hp=0000000000000000000000000000000000000000;hpb=4dd7d9155a920895ff7b1cb6b9c9c676aa62000a;p=cross.git diff --git a/i686-linux-gnu-4.7/usr/include/linux/netfilter/xt_bpf.h b/i686-linux-gnu-4.7/usr/include/linux/netfilter/xt_bpf.h new file mode 100644 index 0000000..a05adda --- /dev/null +++ b/i686-linux-gnu-4.7/usr/include/linux/netfilter/xt_bpf.h @@ -0,0 +1,42 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _XT_BPF_H +#define _XT_BPF_H + +#include +#include +#include + +#define XT_BPF_MAX_NUM_INSTR 64 +#define XT_BPF_PATH_MAX (XT_BPF_MAX_NUM_INSTR * sizeof(struct sock_filter)) + +struct bpf_prog; + +struct xt_bpf_info { + __u16 bpf_program_num_elem; + struct sock_filter bpf_program[XT_BPF_MAX_NUM_INSTR]; + + /* only used in the kernel */ + struct bpf_prog *filter __attribute__((aligned(8))); +}; + +enum xt_bpf_modes { + XT_BPF_MODE_BYTECODE, + XT_BPF_MODE_FD_PINNED, + XT_BPF_MODE_FD_ELF, +}; +#define XT_BPF_MODE_PATH_PINNED XT_BPF_MODE_FD_PINNED + +struct xt_bpf_info_v1 { + __u16 mode; + __u16 bpf_program_num_elem; + __s32 fd; + union { + struct sock_filter bpf_program[XT_BPF_MAX_NUM_INSTR]; + char path[XT_BPF_PATH_MAX]; + }; + + /* only used in the kernel */ + struct bpf_prog *filter __attribute__((aligned(8))); +}; + +#endif /*_XT_BPF_H */