firewall3: add UBUS support for redirect sections
[project/firewall3.git] / options.h
index 0a2fa7f..6edd174 100644 (file)
--- a/options.h
+++ b/options.h
@@ -1,7 +1,7 @@
 /*
  * firewall3 - 3rd OpenWrt UCI firewall implementation
  *
- *   Copyright (C) 2013-2014 Jo-Philipp Wich <jow@openwrt.org>
+ *   Copyright (C) 2013-2014 Jo-Philipp Wich <jo@mein.io>
  *
  * Permission to use, copy, modify, and/or distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -32,6 +32,8 @@
 #include <netdb.h>
 #include <arpa/inet.h>
 #include <sys/socket.h>
+#define _LINUX_IN_H
+#define _LINUX_IN6_H
 #include <netinet/in.h>
 #include <netinet/ether.h>
 
@@ -175,7 +177,6 @@ struct fw3_address
        bool invert;
        bool resolved;
        enum fw3_family family;
-       int mask;
        union {
                struct in_addr v4;
                struct in6_addr v6;
@@ -185,7 +186,7 @@ struct fw3_address
                struct in_addr v4;
                struct in6_addr v6;
                struct ether_addr mac;
-       } address2;
+       } mask;
 };
 
 struct fw3_mac
@@ -303,10 +304,10 @@ struct fw3_zone
        const char *extra_dest;
 
        bool masq;
+       bool masq_allow_invalid;
        struct list_head masq_src;
        struct list_head masq_dest;
 
-       bool conntrack;
        bool mtu_fix;
 
        bool log;
@@ -315,6 +316,8 @@ struct fw3_zone
        bool custom_chains;
 
        uint32_t flags[2];
+
+       struct list_head old_addrs;
 };
 
 struct fw3_rule
@@ -560,9 +563,9 @@ bool fw3_parse_direction(void *ptr, const char *val, bool is_list);
 bool fw3_parse_options(void *s, const struct fw3_option *opts,
                        struct uci_section *section);
 bool fw3_parse_blob_options(void *s, const struct fw3_option *opts,
-                       struct blob_attr *a);
+                            struct blob_attr *a, const char *name);
 
 const char * fw3_address_to_string(struct fw3_address *address,
-                                   bool allow_invert);
+                                   bool allow_invert, bool as_cidr);
 
 #endif