1 #ifndef _NET_NFNL_QUEUE_H_
2 #define _NET_NFNL_QUEUE_H_
3
4 #include <linux/netfilter/nf_conntrack_common.h>
5
6 struct nf_conn;
7
8 #ifdef CONFIG_NETFILTER_NETLINK_QUEUE_CT
9 struct nf_conn *nfqnl_ct_get(struct sk_buff *entskb, size_t *size,
10 enum ip_conntrack_info *ctinfo);
11 struct nf_conn *nfqnl_ct_parse(const struct sk_buff *skb,
12 const struct nlattr *attr,
13 enum ip_conntrack_info *ctinfo);
14 int nfqnl_ct_put(struct sk_buff *skb, struct nf_conn *ct,
15 enum ip_conntrack_info ctinfo);
16 void nfqnl_ct_seq_adjust(struct sk_buff *skb, struct nf_conn *ct,
17 enum ip_conntrack_info ctinfo, int diff);
18 int nfqnl_attach_expect(struct nf_conn *ct, const struct nlattr *attr,
19 u32 portid, u32 report);
20 #else
21 inline struct nf_conn *
nfqnl_ct_get(struct sk_buff * entskb,size_t * size,enum ip_conntrack_info * ctinfo)22 nfqnl_ct_get(struct sk_buff *entskb, size_t *size, enum ip_conntrack_info *ctinfo)
23 {
24 return NULL;
25 }
26
nfqnl_ct_parse(const struct sk_buff * skb,const struct nlattr * attr,enum ip_conntrack_info * ctinfo)27 inline struct nf_conn *nfqnl_ct_parse(const struct sk_buff *skb,
28 const struct nlattr *attr,
29 enum ip_conntrack_info *ctinfo)
30 {
31 return NULL;
32 }
33
34 inline int
nfqnl_ct_put(struct sk_buff * skb,struct nf_conn * ct,enum ip_conntrack_info ctinfo)35 nfqnl_ct_put(struct sk_buff *skb, struct nf_conn *ct, enum ip_conntrack_info ctinfo)
36 {
37 return 0;
38 }
39
nfqnl_ct_seq_adjust(struct sk_buff * skb,struct nf_conn * ct,enum ip_conntrack_info ctinfo,int diff)40 inline void nfqnl_ct_seq_adjust(struct sk_buff *skb, struct nf_conn *ct,
41 enum ip_conntrack_info ctinfo, int diff)
42 {
43 }
44
nfqnl_attach_expect(struct nf_conn * ct,const struct nlattr * attr,u32 portid,u32 report)45 inline int nfqnl_attach_expect(struct nf_conn *ct, const struct nlattr *attr,
46 u32 portid, u32 report)
47 {
48 return 0;
49 }
50 #endif /* NF_CONNTRACK */
51 #endif
52