]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/netfilter.h
Merge branch 'linux-2.6' into for-2.6.24
[linux-2.6-omap-h63xx.git] / include / linux / netfilter.h
index 70d3b4f1e48d4ec395198a7c7f3f0230db803397..1dd075eda595a86efe4ca15e8c6d146d63a7ef73 100644 (file)
@@ -88,9 +88,8 @@ struct nf_sockopt_ops
        int (*compat_get)(struct sock *sk, int optval,
                        void __user *user, int *len);
 
-       /* Number of users inside set() or get(). */
-       unsigned int use;
-       struct task_struct *cleanup_task;
+       /* Use the module struct to lock set/get code in place */
+       struct module *owner;
 };
 
 /* Each queued (to userspace) skbuff has one of these. */
@@ -275,15 +274,13 @@ struct nf_queue_handler {
 };
 extern int nf_register_queue_handler(int pf, 
                                      struct nf_queue_handler *qh);
-extern int nf_unregister_queue_handler(int pf);
+extern int nf_unregister_queue_handler(int pf,
+                                      struct nf_queue_handler *qh);
 extern void nf_unregister_queue_handlers(struct nf_queue_handler *qh);
 extern void nf_reinject(struct sk_buff *skb,
                        struct nf_info *info,
                        unsigned int verdict);
 
-extern void (*ip_ct_attach)(struct sk_buff *, struct sk_buff *);
-extern void nf_ct_attach(struct sk_buff *, struct sk_buff *);
-
 /* FIXME: Before cache is ever used, this must be implemented for real. */
 extern void nf_invalidate_cache(int pf);
 
@@ -388,11 +385,18 @@ static inline int nf_hook(int pf, unsigned int hook, struct sk_buff **pskb,
 {
        return 1;
 }
-static inline void nf_ct_attach(struct sk_buff *new, struct sk_buff *skb) {}
 struct flowi;
 static inline void
 nf_nat_decode_session(struct sk_buff *skb, struct flowi *fl, int family) {}
 #endif /*CONFIG_NETFILTER*/
 
+#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
+extern void (*ip_ct_attach)(struct sk_buff *, struct sk_buff *);
+extern void nf_ct_attach(struct sk_buff *, struct sk_buff *);
+extern void (*nf_ct_destroy)(struct nf_conntrack *);
+#else
+static inline void nf_ct_attach(struct sk_buff *new, struct sk_buff *skb) {}
+#endif
+
 #endif /*__KERNEL__*/
 #endif /*__LINUX_NETFILTER_H*/