]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/shared/firewall-util-private.h
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
7 #include "sd-netlink.h"
9 #include "in-addr-util.h"
11 typedef enum FirewallBackend
{
18 _FW_BACKEND_INVALID
= -EINVAL
,
21 struct FirewallContext
{
22 FirewallBackend backend
;
26 const char *firewall_backend_to_string(FirewallBackend b
) _const_
;
28 int fw_nftables_init(FirewallContext
*ctx
);
29 void fw_nftables_exit(FirewallContext
*ctx
);
31 int fw_nftables_add_masquerade(
35 const union in_addr_union
*source
,
36 unsigned source_prefixlen
);
38 int fw_nftables_add_local_dnat(
44 const union in_addr_union
*remote
,
46 const union in_addr_union
*previous_remote
);
51 int fw_iptables_add_masquerade(
54 const union in_addr_union
*source
,
55 unsigned source_prefixlen
);
57 int fw_iptables_add_local_dnat(
62 const union in_addr_union
*remote
,
64 const union in_addr_union
*previous_remote
);
66 int fw_iptables_init_nat(struct xtc_handle
**ret
);