X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=options.h;h=33c5d1449c2346ac97dc08cd7a9b2e70cb32e892;hb=3a3d85b3c787271e4860ca590d716cf557c1fb7e;hp=aeecef0d547ef04ac4d3b5b5eb3ff873a05d0b75;hpb=5ee2129eaa23a28bfef6d20c273cafc0be559b3d;p=project%2Ffirewall3.git diff --git a/options.h b/options.h index aeecef0..33c5d14 100644 --- a/options.h +++ b/options.h @@ -141,7 +141,16 @@ struct fw3_ipset_datatype { struct list_head list; enum fw3_ipset_type type; - bool dest; + const char *dir; +}; + +struct fw3_setmatch +{ + bool set; + bool invert; + char name[32]; + const char *dir[3]; + struct fw3_ipset *ptr; }; struct fw3_device @@ -320,9 +329,7 @@ struct fw3_rule struct fw3_device src; struct fw3_device dest; - - struct fw3_ipset *_ipset; - struct fw3_device ipset; + struct fw3_setmatch ipset; struct list_head proto; @@ -360,9 +367,7 @@ struct fw3_redirect struct fw3_device src; struct fw3_device dest; - - struct fw3_ipset *_ipset; - struct fw3_device ipset; + struct fw3_setmatch ipset; struct list_head proto; @@ -505,6 +510,7 @@ bool fw3_parse_time(void *ptr, const char *val, bool is_list); bool fw3_parse_weekdays(void *ptr, const char *val, bool is_list); bool fw3_parse_monthdays(void *ptr, const char *val, bool is_list); bool fw3_parse_mark(void *ptr, const char *val, bool is_list); +bool fw3_parse_setmatch(void *ptr, const char *val, bool is_list); void fw3_parse_options(void *s, const struct fw3_option *opts, struct uci_section *section);