make fw3_ubus_address take a list_head * argument instead of allocating & returning one
[project/firewall3.git] / options.h
index b31f6b4..0a2fa7f 100644 (file)
--- a/options.h
+++ b/options.h
@@ -41,6 +41,7 @@
 
 #include <libubox/list.h>
 #include <libubox/utils.h>
+#include <libubox/blobmsg.h>
 
 #include "icmp_codes.h"
 #include "utils.h"
@@ -328,6 +329,9 @@ struct fw3_rule
        struct fw3_zone *_src;
        struct fw3_zone *_dest;
 
+       const char *device;
+       bool direction_out;
+
        struct fw3_device src;
        struct fw3_device dest;
        struct fw3_setmatch ipset;
@@ -408,6 +412,7 @@ struct fw3_snat
 
        struct fw3_device src;
        struct fw3_setmatch ipset;
+       const char *device;
 
        struct list_head proto;
 
@@ -423,6 +428,7 @@ struct fw3_snat
        struct fw3_limit limit;
        struct fw3_time time;
        struct fw3_mark mark;
+       bool connlimit_ports;
 
        enum fw3_flag target;
 
@@ -549,9 +555,12 @@ bool fw3_parse_weekdays(void *ptr, const char *val, bool is_list);
 bool fw3_parse_monthdays(void *ptr, const char *val, bool is_list);
 bool fw3_parse_mark(void *ptr, const char *val, bool is_list);
 bool fw3_parse_setmatch(void *ptr, const char *val, bool is_list);
+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);
 
 const char * fw3_address_to_string(struct fw3_address *address,
                                    bool allow_invert);