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