]> err.no Git - linux-2.6/blob - include/net/netfilter/nf_queue.h
[NETFILTER]: nf_queue: move queueing related functions/struct to seperate header
[linux-2.6] / include / net / netfilter / nf_queue.h
1 #ifndef _NF_QUEUE_H
2 #define _NF_QUEUE_H
3
4 /* Each queued (to userspace) skbuff has one of these. */
5 struct nf_info {
6         struct nf_hook_ops      *elem;
7         int                     pf;
8         unsigned int            hook;
9         struct net_device       *indev;
10         struct net_device       *outdev;
11         int                     (*okfn)(struct sk_buff *);
12 };
13
14 #define nf_info_reroute(x) ((void *)x + sizeof(struct nf_info))
15
16 /* Packet queuing */
17 struct nf_queue_handler {
18         int                     (*outfn)(struct sk_buff *skb,
19                                          struct nf_info *info,
20                                          unsigned int queuenum);
21         char                    *name;
22 };
23
24 extern int nf_register_queue_handler(int pf,
25                                      const struct nf_queue_handler *qh);
26 extern int nf_unregister_queue_handler(int pf,
27                                        const struct nf_queue_handler *qh);
28 extern void nf_unregister_queue_handlers(const struct nf_queue_handler *qh);
29 extern void nf_reinject(struct sk_buff *skb, struct nf_info *info,
30                         unsigned int verdict);
31
32 #endif /* _NF_QUEUE_H */