FW3_OPT("path", string, include, path),
FW3_OPT("type", include_type, include, type),
FW3_OPT("family", family, include, family),
+ FW3_OPT("reload", bool, include, reload),
{ }
};
static void
-print_include(enum fw3_family family, struct fw3_include *include)
+print_include(struct fw3_include *include, enum fw3_family family)
{
FILE *f;
char line[1024];
}
void
-fw3_print_includes(enum fw3_family family, struct fw3_state *state)
+fw3_print_includes(struct fw3_state *state, enum fw3_family family, bool reload)
{
struct fw3_include *include;
list_for_each_entry(include, &state->includes, list)
+ {
+ if (reload && !include->reload)
+ continue;
+
if (include->type == FW3_INC_TYPE_RESTORE)
- print_include(family, include);
+ print_include(include, family);
+ }
}
}
void
-fw3_run_includes(struct fw3_state *state)
+fw3_run_includes(struct fw3_state *state, bool reload)
{
struct fw3_include *include;
list_for_each_entry(include, &state->includes, list)
+ {
+ if (reload && !include->reload)
+ continue;
+
if (include->type == FW3_INC_TYPE_SCRIPT)
run_include(include);
+ }
}