X-Git-Url: http://git.archive.openwrt.org/?p=project%2Ffirewall3.git;a=blobdiff_plain;f=options.h;h=33224b8383e9d790322486256994fb9178141c77;hp=1838a01c3e923c0073ae8a8d432e0c1185cda052;hb=8eb2ce1f936bb27267c9fb312fbb4c3ea008f5af;hpb=061fdb168b98f6d4f23bebf5153d51bb3a85611e diff --git a/options.h b/options.h index 1838a01..33224b8 100644 --- a/options.h +++ b/options.h @@ -61,31 +61,28 @@ enum fw3_family FW3_FAMILY_V6 = 5, }; -enum fw3_target +enum fw3_flag { - FW3_TARGET_UNSPEC = 0, - FW3_TARGET_ACCEPT = 6, - FW3_TARGET_REJECT = 7, - FW3_TARGET_DROP = 8, - FW3_TARGET_NOTRACK = 9, - FW3_TARGET_DNAT = 10, - FW3_TARGET_SNAT = 11, - FW3_TARGET_SRC_ACCEPT = 12, - FW3_TARGET_SRC_REJECT = 13, - FW3_TARGET_SRC_DROP = 14, - FW3_TARGET_CUSTOM_CHAINS = 15, + FW3_FLAG_UNSPEC = 0, + FW3_FLAG_ACCEPT = 6, + FW3_FLAG_REJECT = 7, + FW3_FLAG_DROP = 8, + FW3_FLAG_NOTRACK = 9, + FW3_FLAG_DNAT = 10, + FW3_FLAG_SNAT = 11, + FW3_FLAG_SRC_ACCEPT = 12, + FW3_FLAG_SRC_REJECT = 13, + FW3_FLAG_SRC_DROP = 14, + FW3_FLAG_CUSTOM_CHAINS = 15, + FW3_FLAG_SYN_FLOOD = 16, + FW3_FLAG_MTU_FIX = 17, + FW3_FLAG_DROP_INVALID = 18, + FW3_FLAG_HOTPLUG = 19, + + __FW3_FLAG_MAX }; -enum fw3_default -{ - FW3_DEFAULT_UNSPEC = 0, - FW3_DEFAULT_CUSTOM_CHAINS = 16, - FW3_DEFAULT_SYN_FLOOD = 17, - FW3_DEFAULT_MTU_FIX = 18, - FW3_DEFAULT_DROP_INVALID = 19, -}; - -extern const char *fw3_flag_names[FW3_DEFAULT_DROP_INVALID + 1]; +extern const char *fw3_flag_names[__FW3_FLAG_MAX]; enum fw3_limit_unit @@ -120,6 +117,12 @@ enum fw3_include_type FW3_INC_TYPE_RESTORE = 1, }; +enum fw3_reflection_source +{ + FW3_REFLECTION_INTERNAL = 0, + FW3_REFLECTION_EXTERNAL = 1, +}; + struct fw3_ipset_datatype { struct list_head list; @@ -222,9 +225,9 @@ struct fw3_time struct fw3_defaults { - enum fw3_target policy_input; - enum fw3_target policy_output; - enum fw3_target policy_forward; + enum fw3_flag policy_input; + enum fw3_flag policy_output; + enum fw3_flag policy_forward; bool drop_invalid; @@ -255,9 +258,9 @@ struct fw3_zone enum fw3_family family; - enum fw3_target policy_input; - enum fw3_target policy_output; - enum fw3_target policy_forward; + enum fw3_flag policy_input; + enum fw3_flag policy_output; + enum fw3_flag policy_forward; struct list_head networks; struct list_head devices; @@ -316,7 +319,7 @@ struct fw3_rule struct fw3_limit limit; struct fw3_time time; - enum fw3_target target; + enum fw3_flag target; const char *extra; }; @@ -353,11 +356,12 @@ struct fw3_redirect struct fw3_time time; - enum fw3_target target; + enum fw3_flag target; const char *extra; bool reflection; + enum fw3_reflection_source reflection_src; }; struct fw3_forward @@ -413,6 +417,8 @@ struct fw3_include const char *path; enum fw3_include_type type; + + bool reload; }; struct fw3_state @@ -467,6 +473,7 @@ bool fw3_parse_ipset_method(void *ptr, const char *val); bool fw3_parse_ipset_datatype(void *ptr, const char *val); bool fw3_parse_include_type(void *ptr, const char *val); +bool fw3_parse_reflection_source(void *ptr, const char *val); bool fw3_parse_date(void *ptr, const char *val); bool fw3_parse_time(void *ptr, const char *val);