X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=ipsets.h;h=76078d4dfcbe017d61e82e3e50b169f668e946ab;hb=383eb58f1750b3b96a82558b5dcb806a8a2528bc;hp=b5fee6c1b030ed6bcaf9b44a522e0acfed1dab0a;hpb=be8ead27f625b3e4ed383f270dcfee2d158231ec;p=oweals%2Ffirewall3.git diff --git a/ipsets.h b/ipsets.h index b5fee6c..76078d4 100644 --- a/ipsets.h +++ b/ipsets.h @@ -27,18 +27,25 @@ extern const struct fw3_option fw3_ipset_opts[]; -struct fw3_ipset * fw3_alloc_ipset(void); -void fw3_load_ipsets(struct fw3_state *state, struct uci_package *p); -void fw3_create_ipsets(struct fw3_state *state); -void fw3_destroy_ipsets(struct fw3_state *state); +void fw3_load_ipsets(struct fw3_state *state, struct uci_package *p, struct blob_attr *a); +void fw3_create_ipsets(struct fw3_state *state, enum fw3_family family, + bool reload_set); +void fw3_destroy_ipsets(struct fw3_state *state, enum fw3_family family, + bool reload_set); struct fw3_ipset * fw3_lookup_ipset(struct fw3_state *state, const char *name); bool fw3_check_ipset(struct fw3_ipset *set); -#define fw3_free_ipset(ipset) \ - fw3_free_object(ipset, fw3_ipset_opts) +void +fw3_ipsets_update_run_state(enum fw3_family family, struct fw3_state *run_state, + struct fw3_state *cfg_state); +static inline void fw3_free_ipset(struct fw3_ipset *ipset) +{ + list_del(&ipset->list); + fw3_free_object(ipset, fw3_ipset_opts); +} #ifndef SO_IP_SET