#define NET_CLS_SUBSYS "net_cls"
#define STC_BACKGROUND_APP_SUFFIX "_BACKGROUND"
-#define STC_BACKGROUND_APP_ID "BACKGROUND"
+#define STC_TETHERING_APP_SUFFIX "_TETHERING"
+#define STC_TOTAL_BACKGROUND "TOTAL_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())
+#define STC_DEBUG_LOG (stc_util_get_log_state(DEBUG_LOG_INFO))
+#define STC_STAT_LOG (stc_util_get_log_state(STAT_LOG_INFO))
+#define STC_RSTN_LOG (stc_util_get_log_state(RSTN_LOG_INFO))
+#define STC_FW_LOG (stc_util_get_log_state(FW_LOG_INFO))
+#define STC_PCAP_LOG (stc_util_get_log_state(PCAP_LOG_INFO))
typedef enum {
STC_CANCEL = 0, /**< cancel */
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_UNKNOWN,
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_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_UNKNOWN,
STC_ROAMING_ENABLE, /**< in roaming */
STC_ROAMING_DISABLE, /**< not in roaming */
- STC_ROAMING_LAST_ELEM,
} stc_roaming_type_e;
/**
* @brief datausage in bytes
*/
typedef struct {
- int64_t in_bytes; /**< incoming bytes */
- int64_t out_bytes; /**< outgoing bytes */
+ long long int in_bytes; /**< incoming bytes */
+ long long int out_bytes; /**< outgoing bytes */
} stc_data_counter_s;
typedef struct {
GMainLoop *main_loop;
+ guint timer;
+ gboolean keep_alive;
+ gboolean ondemand_mode;
gpointer statistics_obj;
gpointer restriction_obj;
gpointer firewall_obj;
+ gpointer pcap_obj;
gpointer manager_obj;
GDBusObjectManagerServer *obj_mgr;
stc_s *stc_get_manager(void);
void stc_stop_manager(void);
int stc_commit_iptables(char *cmd, int *err_num, char **err_str);
+void stc_set_keep_alive(gboolean keep_alive);
#endif /* __STC_MANAGER__ */