diff options
-rw-r--r-- | src/include/Makefile.am | 3 | ||||
-rw-r--r-- | src/include/linux/compiler.h | 38 | ||||
-rw-r--r-- | src/include/linux/filter.h | 151 |
3 files changed, 1 insertions, 191 deletions
diff --git a/src/include/Makefile.am b/src/include/Makefile.am index 2b9d894eb..3b5978747 100644 --- a/src/include/Makefile.am +++ b/src/include/Makefile.am @@ -1,2 +1 @@ -EXTRA_DIST = linux/compiler.h linux/filter.h linux/ipsec.h linux/netlink.h \ - linux/rtnetlink.h linux/pfkeyv2.h linux/xfrm.h +EXTRA_DIST = linux/ipsec.h linux/netlink.h linux/rtnetlink.h linux/pfkeyv2.h linux/xfrm.h diff --git a/src/include/linux/compiler.h b/src/include/linux/compiler.h deleted file mode 100644 index 8efd28e5f..000000000 --- a/src/include/linux/compiler.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef __LINUX_COMPILER_H -#define __LINUX_COMPILER_H - -#ifndef __ASSEMBLY__ - -#ifdef __CHECKER__ -# define __user __attribute__((noderef, address_space(1))) -# define __kernel /* default address space */ -# define __safe __attribute__((safe)) -# define __force __attribute__((force)) -# define __nocast __attribute__((nocast)) -# define __iomem __attribute__((noderef, address_space(2))) -# define __acquires(x) __attribute__((context(0,1))) -# define __releases(x) __attribute__((context(1,0))) -# define __acquire(x) __context__(1) -# define __release(x) __context__(-1) -# define __cond_lock(x) ((x) ? ({ __context__(1); 1; }) : 0) -extern void __chk_user_ptr(void __user *); -extern void __chk_io_ptr(void __iomem *); -#else -# define __user -# define __kernel -# define __safe -# define __force -# define __nocast -# define __iomem -# define __chk_user_ptr(x) (void)0 -# define __chk_io_ptr(x) (void)0 -# define __acquires(x) -# define __releases(x) -# define __acquire(x) (void)0 -# define __release(x) (void)0 -# define __cond_lock(x) (x) -#endif - -#endif /* __ASSEMBLY__ */ - -#endif /* __LINUX_COMPILER_H */ diff --git a/src/include/linux/filter.h b/src/include/linux/filter.h deleted file mode 100644 index 958929c67..000000000 --- a/src/include/linux/filter.h +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Linux Socket Filter Data Structures - */ - -#ifndef __LINUX_FILTER_H__ -#define __LINUX_FILTER_H__ - -#include "compiler.h" -#include <stdint.h> - -#ifdef __KERNEL__ -#include <asm/atomic.h> -#endif - -/* - * Current version of the filter code architecture. - */ -#define BPF_MAJOR_VERSION 1 -#define BPF_MINOR_VERSION 1 - -/* - * Try and keep these values and structures similar to BSD, especially - * the BPF code definitions which need to match so you can share filters - */ - -struct sock_filter /* Filter block */ -{ - uint16_t code; /* Actual filter code */ - uint8_t jt; /* Jump true */ - uint8_t jf; /* Jump false */ - uint32_t k; /* Generic multiuse field */ -}; - -struct sock_fprog /* Required for SO_ATTACH_FILTER. */ -{ - unsigned short len; /* Number of filter blocks */ - struct sock_filter __user *filter; -}; - -#ifdef __KERNEL__ -struct sk_filter -{ - atomic_t refcnt; - unsigned int len; /* Number of filter blocks */ - struct sock_filter insns[0]; -}; - -static __inline__ unsigned int sk_filter_len(struct sk_filter *fp) -{ - return fp->len*sizeof(struct sock_filter) + sizeof(*fp); -} -#endif - -/* - * 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 -#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 - -/* 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_JA 0x00 -#define BPF_JEQ 0x10 -#define BPF_JGT 0x20 -#define BPF_JGE 0x30 -#define BPF_JSET 0x40 -#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 - -/* misc */ -#define BPF_MISCOP(code) ((code) & 0xf8) -#define BPF_TAX 0x00 -#define BPF_TXA 0x80 - -#ifndef BPF_MAXINSNS -#define BPF_MAXINSNS 4096 -#endif - -/* - * Macros for filter block array initializers. - */ -#ifndef BPF_STMT -#define BPF_STMT(code, k) { (unsigned short)(code), 0, 0, k } -#endif -#ifndef BPF_JUMP -#define BPF_JUMP(code, k, jt, jf) { (unsigned short)(code), jt, jf, k } -#endif - -/* - * Number of scratch memory words for: BPF_ST and BPF_STX - */ -#define BPF_MEMWORDS 16 - -/* RATIONALE. Negative offsets are invalid in BPF. - We use them to reference ancillary data. - Unlike introduction new instructions, it does not break - existing compilers/optimizers. - */ -#define SKF_AD_OFF (-0x1000) -#define SKF_AD_PROTOCOL 0 -#define SKF_AD_PKTTYPE 4 -#define SKF_AD_IFINDEX 8 -#define SKF_AD_MAX 12 -#define SKF_NET_OFF (-0x100000) -#define SKF_LL_OFF (-0x200000) - -#ifdef __KERNEL__ -struct sk_buff; -struct sock; - -extern unsigned int sk_run_filter(struct sk_buff *skb, struct sock_filter *filter, int flen); -extern int sk_attach_filter(struct sock_fprog *fprog, struct sock *sk); -extern int sk_chk_filter(struct sock_filter *filter, int flen); -#endif /* __KERNEL__ */ - -#endif /* __LINUX_FILTER_H__ */ |