Implement support for "network" datatype and use it for masq_src / masq_dest
[project/firewall3.git] / options.h
index 392db13467ed30d548374df9e47da3e6bb2e1bbd..b00bdb55c0166486c09ffefb10331cff267b4308 100644 (file)
--- a/options.h
+++ b/options.h
@@ -77,6 +77,7 @@ enum fw3_flag
        FW3_FLAG_SYN_FLOOD     = 16,
        FW3_FLAG_MTU_FIX       = 17,
        FW3_FLAG_DROP_INVALID  = 18,
+       FW3_FLAG_HOTPLUG       = 19,
 
        __FW3_FLAG_MAX
 };
@@ -116,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;
@@ -354,6 +361,7 @@ struct fw3_redirect
        const char *extra;
 
        bool reflection;
+       enum fw3_reflection_source reflection_src;
 };
 
 struct fw3_forward
@@ -409,6 +417,8 @@ struct fw3_include
 
        const char *path;
        enum fw3_include_type type;
+
+       bool reload;
 };
 
 struct fw3_state
@@ -453,6 +463,7 @@ bool fw3_parse_target(void *ptr, const char *val);
 bool fw3_parse_limit(void *ptr, const char *val);
 bool fw3_parse_device(void *ptr, const char *val);
 bool fw3_parse_address(void *ptr, const char *val);
+bool fw3_parse_network(void *ptr, const char *val);
 bool fw3_parse_mac(void *ptr, const char *val);
 bool fw3_parse_port(void *ptr, const char *val);
 bool fw3_parse_family(void *ptr, const char *val);
@@ -463,6 +474,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);