p = list_empty(h) ? list_first_entry(h, typeof(*p), list) \
: list_entry(p->list.next, typeof(*p), list))
-static inline void
-fw3_free_list(struct list_head *list)
-{
- struct list_head *cur, *tmp;
-
- list_for_each_safe(cur, tmp, list)
- {
- list_del(cur);
- free(cur);
- }
-}
-
#define fw3_is_family(p, f) \
- (!p || p->family == FW3_FAMILY_ANY || p->family == f)
+ (!p || (p)->family == FW3_FAMILY_ANY || (p)->family == f)
const char * fw3_find_command(const char *cmd);
FW3_TYPE_IPSET = 2,
};
-struct fw3_statefile_entry
-{
- struct list_head list;
- enum fw3_statefile_type type;
- char *name;
- uint32_t flags[2];
-};
-
-struct list_head * fw3_read_statefile(void);
+bool fw3_read_statefile(void *state);
void fw3_write_statefile(void *state);
-void fw3_free_statefile(struct list_head *statefile);
+
+void fw3_set_running(void *object, struct list_head *dest);
+
+void fw3_free_object(void *obj, const void *opts);
#endif