Initial commit
[wrt350n-kernel.git] / include / net / netfilter / nf_queue.h
blobd030044e923502b580bcf0a34e5299770c89735d
1 #ifndef _NF_QUEUE_H
2 #define _NF_QUEUE_H
4 /* Each queued (to userspace) skbuff has one of these. */
5 struct nf_queue_entry {
6 struct list_head list;
7 struct sk_buff *skb;
8 unsigned int id;
10 struct nf_hook_ops *elem;
11 int pf;
12 unsigned int hook;
13 struct net_device *indev;
14 struct net_device *outdev;
15 int (*okfn)(struct sk_buff *);
18 #define nf_queue_entry_reroute(x) ((void *)x + sizeof(struct nf_queue_entry))
20 /* Packet queuing */
21 struct nf_queue_handler {
22 int (*outfn)(struct nf_queue_entry *entry,
23 unsigned int queuenum);
24 char *name;
27 extern int nf_register_queue_handler(int pf,
28 const struct nf_queue_handler *qh);
29 extern int nf_unregister_queue_handler(int pf,
30 const struct nf_queue_handler *qh);
31 extern void nf_unregister_queue_handlers(const struct nf_queue_handler *qh);
32 extern void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict);
34 #endif /* _NF_QUEUE_H */