#include "stc-manager.h"
#include "stc-error.h"
+#define STC_IN_CHAIN "STC_IN"
+#define STC_OUT_CHAIN "STC_OUT"
+#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;
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);
#endif /*__STC_HELPER_IPTABLES_H__*/