]>
Commit | Line | Data |
---|---|---|
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 |
5 | struct 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 */ | |
21 | struct nf_queue_handler { | |
02f014d8 | 22 | int (*outfn)(struct nf_queue_entry *entry, |
c01cd429 PM |
23 | unsigned int queuenum); |
24 | char *name; | |
25 | }; | |
26 | ||
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); | |
02f014d8 | 32 | extern void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict); |
c01cd429 PM |
33 | |
34 | #endif /* _NF_QUEUE_H */ |