#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())
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 {
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;
/**
STC_APP_TYPE_GROUP,
STC_APP_TYPE_WATCH,
STC_APP_TYPE_WIDGET,
+ STC_APP_TYPE_TETHERING,
STC_APP_TYPE_MAX,
} stc_app_type_e;
* @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;
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;
* @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;
/**
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__ */