#ifndef __LINUX_FILTER_H__
#define __LINUX_FILTER_H__
+#include <linux/compiler.h>
+#include <linux/types.h>
+
+#ifdef __KERNEL__
+#include <asm/atomic.h>
+#endif
+
/*
* Current version of the filter code architecture.
*/
struct sock_fprog /* Required for SO_ATTACH_FILTER. */
{
unsigned short len; /* Number of filter blocks */
- struct sock_filter *filter;
+ struct sock_filter __user *filter;
};
#ifdef __KERNEL__
#define SKF_LL_OFF (-0x200000)
#ifdef __KERNEL__
+struct sk_buff;
+struct sock;
+
extern 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);