Drop iptables-restore and create rules through libiptc and libxtables
[project/firewall3.git] / options.h
index 734d185..f6168f5 100644 (file)
--- a/options.h
+++ b/options.h
@@ -92,14 +92,21 @@ enum fw3_limit_unit
        FW3_LIMIT_UNIT_MINUTE = 1,
        FW3_LIMIT_UNIT_HOUR   = 2,
        FW3_LIMIT_UNIT_DAY    = 3,
+
+       __FW3_LIMIT_UNIT_MAX
 };
 
+extern const char *fw3_limit_units[__FW3_LIMIT_UNIT_MAX];
+
+
 enum fw3_ipset_method
 {
        FW3_IPSET_METHOD_UNSPEC = 0,
        FW3_IPSET_METHOD_BITMAP = 1,
        FW3_IPSET_METHOD_HASH   = 2,
        FW3_IPSET_METHOD_LIST   = 3,
+
+       __FW3_IPSET_METHOD_MAX
 };
 
 enum fw3_ipset_type
@@ -110,8 +117,14 @@ enum fw3_ipset_type
        FW3_IPSET_TYPE_MAC    = 3,
        FW3_IPSET_TYPE_NET    = 4,
        FW3_IPSET_TYPE_SET    = 5,
+
+       __FW3_IPSET_TYPE_MAX
 };
 
+extern const char *fw3_ipset_method_names[__FW3_IPSET_METHOD_MAX];
+extern const char *fw3_ipset_type_names[__FW3_IPSET_TYPE_MAX];
+
+
 enum fw3_include_type
 {
        FW3_INC_TYPE_SCRIPT   = 0,
@@ -139,7 +152,7 @@ struct fw3_device
        bool any;
        bool invert;
        char name[32];
-       struct fw3_device *network;
+       char network[32];
 };
 
 struct fw3_address
@@ -488,6 +501,9 @@ bool fw3_parse_mark(void *ptr, const char *val, bool is_list);
 void fw3_parse_options(void *s, const struct fw3_option *opts,
                        struct uci_section *section);
 
+const char * fw3_address_to_string(struct fw3_address *address,
+                                   bool allow_invert);
+
 void fw3_format_in_out(struct fw3_device *in, struct fw3_device *out);
 void fw3_format_src_dest(struct fw3_address *src, struct fw3_address *dest);
 void fw3_format_sport_dport(struct fw3_port *sp, struct fw3_port *dp);