X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;ds=sidebyside;f=zones.h;h=dfae81c9d013efe9e306dc7c7dc6e67a076bb128;hb=4ecfb8f6fe4920fd1c6904b1ca8730e746111b00;hp=c462ea839a9022598020cb29beb937d13c8e6ce1;hpb=275a37dbf280bd471ebb2c673267c49a81071bbb;p=project%2Ffirewall3.git diff --git a/zones.h b/zones.h index c462ea8..dfae81c 100644 --- a/zones.h +++ b/zones.h @@ -20,23 +20,33 @@ #define __FW3_ZONES_H #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(enum fw3_table table, enum fw3_family family, - struct fw3_state *state); +void fw3_print_zone_chains(struct fw3_ipt_handle *handle, + struct fw3_state *state, bool reload); -void fw3_print_zone_rules(enum fw3_table table, enum fw3_family family, - struct fw3_state *state); +void fw3_print_zone_rules(struct fw3_ipt_handle *handle, + struct fw3_state *state, bool reload); -void fw3_flush_zones(enum fw3_table table, enum fw3_family family, - bool pass2, struct fw3_state *state); +void fw3_flush_zones(struct fw3_ipt_handle *handle, struct fw3_state *state, + bool reload); -struct fw3_zone * fw3_lookup_zone(struct fw3_state *state, const char *name, - bool running); +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); +#define fw3_to_src_target(t) \ + (FW3_FLAG_SRC_ACCEPT - FW3_FLAG_ACCEPT + t) + #endif