1130803Smarcel/* SPDX-License-Identifier: GPL-2.0 */
2130803Smarcel
3130803Smarcel#ifndef _NF_CONNTRACK_BPF_H
4130803Smarcel#define _NF_CONNTRACK_BPF_H
5130803Smarcel
6130803Smarcel#include <linux/kconfig.h>
7130803Smarcel#include <net/netfilter/nf_conntrack.h>
8130803Smarcel
9130803Smarcelstruct nf_conn___init {
10130803Smarcel	struct nf_conn ct;
11130803Smarcel};
12130803Smarcel
13130803Smarcel#if (IS_BUILTIN(CONFIG_NF_CONNTRACK) && IS_ENABLED(CONFIG_DEBUG_INFO_BTF)) || \
14130803Smarcel    (IS_MODULE(CONFIG_NF_CONNTRACK) && IS_ENABLED(CONFIG_DEBUG_INFO_BTF_MODULES))
15130803Smarcel
16130803Smarcelextern int register_nf_conntrack_bpf(void);
17130803Smarcelextern void cleanup_nf_conntrack_bpf(void);
18130803Smarcel
19130803Smarcel#else
20130803Smarcel
21130803Smarcelstatic inline int register_nf_conntrack_bpf(void)
22130803Smarcel{
23130803Smarcel	return 0;
24130803Smarcel}
25130803Smarcel
26130803Smarcelstatic inline void cleanup_nf_conntrack_bpf(void)
27130803Smarcel{
28130803Smarcel}
29130803Smarcel
30130803Smarcel#endif
31130803Smarcel
32130803Smarcel#if (IS_BUILTIN(CONFIG_NF_NAT) && IS_ENABLED(CONFIG_DEBUG_INFO_BTF)) || \
33130803Smarcel    (IS_MODULE(CONFIG_NF_NAT) && IS_ENABLED(CONFIG_DEBUG_INFO_BTF_MODULES))
34130803Smarcel
35130803Smarcelextern int register_nf_nat_bpf(void);
36130803Smarcel
37130803Smarcel#else
38130803Smarcel
39130803Smarcelstatic inline int register_nf_nat_bpf(void)
40130803Smarcel{
41130803Smarcel	return 0;
42130803Smarcel}
43130803Smarcel
44130803Smarcel#endif
45130803Smarcel
46130803Smarcel#endif /* _NF_CONNTRACK_BPF_H */
47130803Smarcel