X-Git-Url: http://git.archive.openwrt.org/?p=project%2Ffirewall3.git;a=blobdiff_plain;f=zones.h;h=d78673664cd73c9e956695956235539be5d6237f;hp=b78aa32ece58043e02db9c18fe4a1e94a1eaf9c4;hb=47b23946cb2d51c486cd01596744955f850e2060;hpb=6b27a6665c288937eb5028063064e3350dcab545;ds=sidebyside diff --git a/zones.h b/zones.h index b78aa32..d786736 100644 --- a/zones.h +++ b/zones.h @@ -1,7 +1,7 @@ /* * firewall3 - 3rd OpenWrt UCI firewall implementation * - * Copyright (C) 2013 Jo-Philipp Wich + * Copyright (C) 2013 Jo-Philipp Wich * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -22,6 +22,9 @@ #include "options.h" #include "iptables.h" +/* 32 - sizeof("postrouting_") - sizeof("_rule") - sizeof("\0") */ +#define FW3_ZONE_MAXNAMELEN 14 + extern const struct fw3_option fw3_zone_opts[]; struct fw3_zone * fw3_alloc_zone(void); @@ -41,7 +44,11 @@ void fw3_hotplug_zones(struct fw3_state *state, bool add); struct fw3_zone * fw3_lookup_zone(struct fw3_state *state, const char *name); -void fw3_free_zone(struct fw3_zone *zone); +struct list_head * fw3_resolve_zone_addresses(struct fw3_zone *zone, + struct fw3_address *addr); + +#define fw3_free_zone(zone) \ + fw3_free_object(zone, fw3_zone_opts) #define fw3_to_src_target(t) \ (FW3_FLAG_SRC_ACCEPT - FW3_FLAG_ACCEPT + t)