]> bbs.cooldavid.org Git - net-next-2.6.git/blame - include/net/netfilter/nf_queue.h
[NETFILTER]: nf_queue: move list_head/skb/id to struct nf_info
[net-next-2.6.git] / include / net / netfilter / nf_queue.h
CommitLineData
c01cd429
PM
1#ifndef _NF_QUEUE_H
2#define _NF_QUEUE_H
3
4/* Each queued (to userspace) skbuff has one of these. */
02f014d8
PM
5struct nf_queue_entry {
6 struct list_head list;
7 struct sk_buff *skb;
8 unsigned int id;
9
c01cd429
PM
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 *);
16};
17
02f014d8 18#define nf_queue_entry_reroute(x) ((void *)x + sizeof(struct nf_queue_entry))
c01cd429
PM
19
20/* Packet queuing */
21struct nf_queue_handler {
02f014d8 22 int (*outfn)(struct nf_queue_entry *entry,
c01cd429
PM
23 unsigned int queuenum);
24 char *name;
25};
26
27extern int nf_register_queue_handler(int pf,
28 const struct nf_queue_handler *qh);
29extern int nf_unregister_queue_handler(int pf,
30 const struct nf_queue_handler *qh);
31extern void nf_unregister_queue_handlers(const struct nf_queue_handler *qh);
02f014d8 32extern void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict);
c01cd429
PM
33
34#endif /* _NF_QUEUE_H */