map: fix deleting port based rules
[project/qosify.git] / qosify.h
index 7a598e3bebfc8edc1f48c9aa605f3afc699f61a2..d1260ad1a2837eae019c7bc267864bcdea0222e0 100644 (file)
--- a/qosify.h
+++ b/qosify.h
@@ -26,6 +26,8 @@
 
 #define QOSIFY_DNS_IFNAME "ifb-dns"
 
+#define QOSIFY_PRIO_BASE       0x110
+
 enum qosify_map_id {
        CL_MAP_TCP_PORTS,
        CL_MAP_UDP_PORTS,
@@ -51,7 +53,8 @@ struct qosify_map_data {
                struct in_addr ip;
                struct in6_addr ip6;
                struct {
-                       uint32_t seq;
+                       uint32_t seq : 30;
+                       uint32_t only_cname : 1;
                        const char *pattern;
                        regex_t regex;
                } dns;
@@ -75,6 +78,7 @@ extern struct qosify_flow_config flow_config;
 int qosify_run_cmd(char *cmd, bool ignore_error);
 
 int qosify_loader_init(void);
+const char *qosify_get_program(uint32_t flags, int *fd);
 
 int qosify_map_init(void);
 int qosify_map_dscp_value(const char *val, uint8_t *dscp);
@@ -90,7 +94,7 @@ void qosify_map_set_dscp_default(enum qosify_map_id id, uint8_t val);
 void qosify_map_reset_config(void);
 void qosify_map_update_config(void);
 void qosify_map_set_classes(struct blob_attr *val);
-int qosify_map_lookup_dns_entry(char *host, uint8_t *dscp, uint32_t *seq);
+int qosify_map_lookup_dns_entry(char *host, bool cname, uint8_t *dscp, uint32_t *seq);
 int qosify_map_add_dns_host(char *host, const char *addr, const char *type, int ttl);
 int map_parse_flow_config(struct qosify_flow_config *cfg, struct blob_attr *attr,
                          bool reset);
@@ -100,6 +104,7 @@ int qosify_iface_init(void);
 void qosify_iface_config_update(struct blob_attr *ifaces, struct blob_attr *devs);
 void qosify_iface_check(void);
 void qosify_iface_status(struct blob_buf *b);
+void qosify_iface_get_devices(struct blob_buf *b);
 void qosify_iface_stop(void);
 
 int qosify_dns_init(void);
@@ -108,5 +113,6 @@ void qosify_dns_stop(void);
 int qosify_ubus_init(void);
 void qosify_ubus_stop(void);
 int qosify_ubus_check_interface(const char *name, char *ifname, int ifname_len);
+void qosify_ubus_update_bridger(bool shutdown);
 
 #endif