Check insert option when iptables commit
[platform/core/connectivity/stc-manager.git] / include / stc-manager.h
old mode 100755 (executable)
new mode 100644 (file)
index c6a8f8e..9496953
 #define NET_CLS_SUBSYS "net_cls"
 
 #define STC_BACKGROUND_APP_SUFFIX "_BACKGROUND"
+#define STC_TETHERING_APP_SUFFIX "_TETHERING"
 #define STC_BACKGROUND_APP_ID "BACKGROUND"
 #define STC_TOTAL_DATACALL "TOTAL_DATACALL"
 #define STC_TOTAL_WIFI "TOTAL_WIFI"
 #define STC_TOTAL_BLUETOOTH "TOTAL_BLUETOOTH"
 #define STC_TOTAL_IPV4 "TOTAL_IPV4"
 #define STC_TOTAL_IPV6 "TOTAL_IPV6"
+#define STC_TOTAL_TETHERING "TOTAL_TETHERING"
+
+#define STC_IPTABLES "/usr/sbin/iptables"
+#define STC_IP6TABLES "/usr/sbin/ip6tables"
+
+#define STC_CMD_INSERT "-I"
+#define STC_CMD_SIZE 256
 
 #define STC_DEBUG_LOG (stc_util_get_debuglog())
 
@@ -88,7 +96,8 @@ typedef enum {
 typedef enum {
        STC_FW_CHAIN_TARGET_NONE,
        STC_FW_CHAIN_TARGET_INPUT,
-       STC_FW_CHAIN_TARGET_OUTPUT
+       STC_FW_CHAIN_TARGET_OUTPUT,
+       STC_FW_CHAIN_TARGET_MAX
 } stc_fw_chain_target_e;
 
 typedef enum {
@@ -96,6 +105,8 @@ typedef enum {
        STC_FW_RULE_TARGET_ACCEPT,
        STC_FW_RULE_TARGET_DROP,
        STC_FW_RULE_TARGET_LOG,
+       STC_FW_RULE_TARGET_NFLOG,
+       STC_FW_RULE_TARGET_MAX
 } stc_fw_rule_target_e;
 
 /**
@@ -109,6 +120,7 @@ typedef enum {
        STC_APP_TYPE_GROUP,
        STC_APP_TYPE_WATCH,
        STC_APP_TYPE_WIDGET,
+       STC_APP_TYPE_TETHERING,
        STC_APP_TYPE_MAX,
 } stc_app_type_e;
 
@@ -116,29 +128,29 @@ typedef enum {
  * @brief State of the statisticsed process
  */
 typedef enum {
-       STC_APP_STATE_UNKNOWN = 0,
-       STC_APP_STATE_FOREGROUND = 1 << 1,  /** < foreground state */
-       STC_APP_STATE_BACKGROUND = 1 << 2,  /** < background state */
-       STC_APP_STATE_LAST_ELEM = 1 << 3
+       STC_APP_STATE_UNKNOWN,
+       STC_APP_STATE_FOREGROUND,  /** < foreground state */
+       STC_APP_STATE_BACKGROUND,  /** < background state */
+       STC_APP_STATE_LAST_ELEM
 } stc_app_state_e;
 
 /**
  * @brief Network restriction states
  */
 typedef enum {
-       STC_RESTRICTION_UNKNOWN,
-       STC_RESTRICTION_ACTIVATED,  /**< restriction has been activated */
-       STC_RESTRICTION_DEACTIVATED,  /**< restriction has been deactivated */
-       STC_RESTRICTION_LAST_ELEM
-} stc_restriction_state_e;
+       STC_RSTN_STATE_UNKNOWN,
+       STC_RSTN_STATE_ACTIVATED,
+       STC_RSTN_STATE_DEACTIVATED,
+       STC_RSTN_STATE_LAST_ELEM
+} stc_rstn_state_e;
 
 /**
  * @brief Network restriction types
  */
 typedef enum {
        STC_RSTN_TYPE_UNKNOWN,
-       STC_RSTN_TYPE_EXCLUDED,  /**< exclusion */
-       STC_RSTN_TYPE_BLOCKED,    /**< block */
+       STC_RSTN_TYPE_ACCEPT,
+       STC_RSTN_TYPE_DROP,
        STC_RSTN_TYPE_LAST_ELEM
 } stc_rstn_type_e;
 
@@ -153,6 +165,8 @@ typedef enum {
        STC_IFACE_BLUETOOTH,  /**< bluetooth interface */
        STC_IFACE_IPV4,       /**< ipv4 interface */
        STC_IFACE_IPV6,       /**< ipv6 interface */
+       STC_IFACE_USB,        /**< usb interface */
+       STC_IFACE_P2P,        /**< p2p interface */
        STC_IFACE_ALL,        /**< enumerate all network interface types */
        STC_IFACE_LAST_ELEM
 } stc_iface_type_e;
@@ -161,10 +175,8 @@ typedef enum {
  * @brief Network roaming type
  */
 typedef enum {
-       STC_ROAMING_UNKNOWN,   /**< can't define roaming - roaming unknown */
-       STC_ROAMING_ENABLE,    /**< in roaming */
        STC_ROAMING_DISABLE,   /**< not in roaming */
-       STC_ROAMING_LAST_ELEM,
+       STC_ROAMING_ENABLE,    /**< in roaming */
 } stc_roaming_type_e;
 
 /**
@@ -236,5 +248,6 @@ typedef struct {
 
 stc_s *stc_get_manager(void);
 void stc_stop_manager(void);
+int stc_commit_iptables(char *cmd, int *err_num, char **err_str);
 
 #endif /* __STC_MANAGER__ */