FW3_FLAG_MTU_FIX = 18,
FW3_FLAG_DROP_INVALID = 19,
FW3_FLAG_HOTPLUG = 20,
- FW3_FLAG_DELETED = 21,
__FW3_FLAG_MAX
};
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
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,
bool any;
bool invert;
char name[32];
- struct fw3_device *network;
+ char network[32];
};
struct fw3_address
struct fw3_zone
{
struct list_head list;
- struct list_head running_list;
bool enabled;
const char *name;
struct list_head devices;
struct list_head subnets;
- struct list_head running_networks;
- struct list_head running_devices;
-
const char *extra_src;
const char *extra_dest;
struct fw3_ipset
{
struct list_head list;
- struct list_head running_list;
bool enabled;
const char *name;
struct fw3_include
{
struct list_head list;
- struct list_head running_list;
bool enabled;
const char *name;
struct list_head ipsets;
struct list_head includes;
- struct list_head running_zones;
- struct list_head running_ipsets;
-
bool disable_ipsets;
bool statefile;
};
+struct fw3_chain_spec {
+ int family;
+ int table;
+ int flag;
+ const char *format;
+};
+
struct fw3_option
{
void fw3_parse_options(void *s, const struct fw3_option *opts,
struct uci_section *section);
-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);
-void fw3_format_mac(struct fw3_mac *mac);
-void fw3_format_protocol(struct fw3_protocol *proto, enum fw3_family family);
-void fw3_format_icmptype(struct fw3_icmptype *icmp, enum fw3_family family);
-void fw3_format_limit(struct fw3_limit *limit);
-void fw3_format_ipset(struct fw3_ipset *ipset, bool invert);
-void fw3_format_time(struct fw3_time *time);
-void fw3_format_mark(struct fw3_mark *mark);
-
-void __fw3_format_comment(const char *comment, ...);
-#define fw3_format_comment(...) __fw3_format_comment(__VA_ARGS__, NULL)
-
-void fw3_format_extra(const char *extra);
+const char * fw3_address_to_string(struct fw3_address *address,
+ bool allow_invert);
#endif