Add support for Tethering data monitoring and data restriction rules
[platform/core/connectivity/stc-manager.git] / src / helper / helper-iptables.h
index bdfedb1..13db25b 100755 (executable)
 #define STC_FRWD_CHAIN    "STC_FRWD"
 
 typedef enum {
+       IPTABLES_DIRECTION_NONE,
        IPTABLES_DIRECTION_IN,
        IPTABLES_DIRECTION_OUT
 } iptables_rule_direction_e;
 
+typedef enum {
+       IP_TYPE_UNKNOWN,
+       IP_TYPE_IPV4,
+       IP_TYPE_IPV6,
+       IP_TYPE_IPV4_IPV6,
+       IP_TYPE_LAST_ELEM
+} iptables_ip_type_e;
+
 typedef struct {
        char *chain;
        char *ifname;
@@ -38,8 +47,8 @@ typedef struct {
        uint32_t classid;
 } iptables_rule_s;
 
-stc_error_e iptables_add(iptables_rule_s *rule);
-stc_error_e iptables_remove(iptables_rule_s *rule);
+stc_error_e iptables_add(iptables_rule_s *rule, iptables_ip_type_e iptype);
+stc_error_e iptables_remove(iptables_rule_s *rule, iptables_ip_type_e iptype);
 stc_error_e iptables_flush_chains(void);
 stc_error_e iptables_init(void);
 stc_error_e iptables_deinit(void);