X-Git-Url: http://git.archive.openwrt.org/?p=project%2Ffirewall3.git;a=blobdiff_plain;f=zones.h;h=7fd8e4cdeac7c65924ef1e655f07efef6799debb;hp=8537af73f81930877b92563d2fe5c06ae3a3e3aa;hb=61cc1d220c95168faf24bececc752a5af7ce6431;hpb=8fee8f9c520c58d07772cc6bd8f65d9eb1776a56 diff --git a/zones.h b/zones.h index 8537af7..7fd8e4c 100644 --- a/zones.h +++ b/zones.h @@ -21,6 +21,10 @@ #include "options.h" +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, @@ -29,8 +33,16 @@ void fw3_print_zone_chains(enum fw3_table table, enum fw3_family family, void fw3_print_zone_rules(enum fw3_table table, enum fw3_family family, struct fw3_state *state); -struct fw3_zone * fw3_lookup_zone(struct fw3_state *state, const char *name); +void fw3_flush_zones(enum fw3_table table, enum fw3_family family, + bool pass2, bool reload, struct fw3_state *state); + +struct fw3_zone * fw3_lookup_zone(struct fw3_state *state, const char *name, + bool running); + +#define fw3_to_src_target(t) \ + (FW3_TARGET_SRC_ACCEPT - FW3_TARGET_ACCEPT + t) -void fw3_free_zone(struct fw3_zone *zone); +#define fw3_free_zone(zone) \ + fw3_free_object(zone, fw3_zone_opts) #endif