X-Git-Url: http://git.archive.openwrt.org/?p=project%2Ffirewall3.git;a=blobdiff_plain;f=options.h;h=2209cbe4363f1de2e729e0ea42efde9b0155425c;hp=ea5082dcdf1b19ae69464fe76128a6447540d1e8;hb=6a736bbffb88c44aa5b4780e5a94519a0b4e5523;hpb=6e6afb0c7d4d69e4a48122664645c8de67f34c96 diff --git a/options.h b/options.h index ea5082d..2209cbe 100644 --- a/options.h +++ b/options.h @@ -79,6 +79,9 @@ enum fw3_default FW3_DEFAULT_DROP_INVALID = 15, }; +extern const char *fw3_flag_names[FW3_DEFAULT_DROP_INVALID + 1]; + + enum fw3_limit_unit { FW3_LIMIT_UNIT_SECOND = 0, @@ -127,6 +130,7 @@ struct fw3_address struct list_head list; bool set; + bool range; bool invert; enum fw3_family family; int mask; @@ -135,6 +139,11 @@ struct fw3_address struct in6_addr v6; struct ether_addr mac; } address; + union { + struct in_addr v4; + struct in6_addr v6; + struct ether_addr mac; + } address2; }; struct fw3_mac @@ -216,6 +225,7 @@ struct fw3_defaults struct fw3_zone { struct list_head list; + struct list_head running_list; const char *name; @@ -337,6 +347,7 @@ struct fw3_forward struct fw3_ipset { struct list_head list; + struct list_head running_list; const char *name; enum fw3_family family; @@ -344,7 +355,7 @@ struct fw3_ipset enum fw3_ipset_method method; struct list_head datatypes; - struct list_head iprange; + struct fw3_address iprange; struct fw3_port portrange; int netmask; @@ -368,7 +379,12 @@ struct fw3_state struct list_head forwards; struct list_head ipsets; + struct fw3_defaults running_defaults; + struct list_head running_zones; + struct list_head running_ipsets; + bool disable_ipsets; + bool statefile; }; @@ -403,7 +419,7 @@ bool fw3_parse_protocol(void *ptr, const char *val); bool fw3_parse_ipset_method(void *ptr, const char *val); bool fw3_parse_ipset_datatype(void *ptr, const char *val); -void fw3_parse_options(void *s, struct fw3_option *opts, int n, +void fw3_parse_options(void *s, const struct fw3_option *opts, struct uci_section *section); void fw3_format_in_out(struct fw3_device *in, struct fw3_device *out);