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 | 10 | struct nf_hook_ops *elem; |
76108cea | 11 | u_int8_t pf; |
c01cd429 PM |
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 | 23 | unsigned int queuenum); |
c01cd429 PM |
24 | }; |
25 | ||
0360ae41 FW |
26 | void nf_register_queue_handler(const struct nf_queue_handler *qh); |
27 | void nf_unregister_queue_handler(void); | |
02f014d8 | 28 | extern void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict); |
c01cd429 PM |
29 | |
30 | #endif /* _NF_QUEUE_H */ |