X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;ds=sidebyside;f=zones.h;h=4205196268f75061280ac13da656ab4362245a06;hb=8957be6c026858fe414aef69281d8aa06f7ea122;hp=353f08926f7e9634ab23d8885bfd93e17c1e9f78;hpb=b6109157659a7d3f389797cfc6f91c90641ba33e;p=project%2Ffirewall3.git diff --git a/zones.h b/zones.h index 353f089..4205196 100644 --- a/zones.h +++ b/zones.h @@ -22,17 +22,20 @@ #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); void fw3_load_zones(struct fw3_state *state, struct uci_package *p); -void fw3_print_zone_chains(struct fw3_state *state, enum fw3_family family, - enum fw3_table table, bool reload); +void fw3_print_zone_chains(struct fw3_ipt_handle *handle, + struct fw3_state *state, bool reload); -void fw3_print_zone_rules(struct fw3_state *state, enum fw3_family family, - enum fw3_table table, bool reload); +void fw3_print_zone_rules(struct fw3_ipt_handle *handle, + struct fw3_state *state, bool reload); void fw3_flush_zones(struct fw3_ipt_handle *handle, struct fw3_state *state, bool reload); @@ -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)