/* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once #include #include #include "in-addr-util.h" typedef struct FirewallContext FirewallContext; int fw_ctx_new(FirewallContext **ret); FirewallContext *fw_ctx_free(FirewallContext *fw_ctx); DEFINE_TRIVIAL_CLEANUP_FUNC(FirewallContext *, fw_ctx_free); int fw_add_masquerade( FirewallContext **fw_ctx, bool add, int af, const union in_addr_union *source, unsigned source_prefixlen); int fw_add_local_dnat( FirewallContext **fw_ctx, bool add, int af, int protocol, uint16_t local_port, const union in_addr_union *remote, uint16_t remote_port, const union in_addr_union *previous_remote);