Fix the gcov build error
[platform/core/api/tethering.git] / include / tethering_private.h
index 1f753e8..b6a36c2 100644 (file)
@@ -36,9 +36,11 @@ extern "C" {
 #define DEPRECATED_API __attribute__ ((deprecated))
 #endif
 
+#define INFO(fmt, args...)     LOGI(fmt, ##args)
 #define DBG(fmt, args...)      LOGD(fmt, ##args)
 #define WARN(fmt, args...)     LOGW(fmt, ##args)
 #define ERR(fmt, args...)      LOGE(fmt, ##args)
+#define SINFO(fmt, args...)    SECURE_LOGI(fmt, ##args)
 #define SDBG(fmt, args...)     SECURE_LOGD(fmt, ##args)
 #define SERR(fmt, args...)     SECURE_LOGE(fmt, ##args)
 
@@ -75,6 +77,23 @@ extern "C" {
        } while (0)
 
 /**
+ * To lock and unlock Mutex
+ */
+
+#define TETHERING_LOCK \
+       do { \
+               _tethering_lock(); \
+       } while(0)
+
+#define TETHERING_UNLOCK \
+       do { \
+               _tethering_unlock(); \
+       } while(0)
+
+void _tethering_lock(void);
+void _tethering_unlock(void);
+
+/**
  * To check supported feature
  */
 
@@ -83,8 +102,7 @@ extern "C" {
 #define TETHERING_USB_FEATURE          "http://tizen.org/feature/network.tethering.usb"
 #define TETHERING_WIFI_FEATURE         "http://tizen.org/feature/network.tethering.wifi"
 
-typedef enum
-{
+typedef enum {
        TETHERING_SUPPORTED_FEATURE,
        TETHERING_SUPPORTED_FEATURE_WIFI,
        TETHERING_SUPPORTED_FEATURE_BT,
@@ -95,7 +113,7 @@ typedef enum
 #define CHECK_FEATURE_SUPPORTED(...) \
        do { \
                int rv = _tethering_check_feature_supported(__VA_ARGS__, NULL); \
-               if(rv != TETHERING_ERROR_NONE) { \
+               if (rv != TETHERING_ERROR_NONE) { \
                        return rv; \
                } \
        } while (0)
@@ -115,8 +133,10 @@ int _tethering_check_feature_supported(const char* feature, ...);
 /**
 * Common configuration
 */
-#define TETHERING_TYPE_MAX             5       /**< All, USB, Wi-Fi, BT, Wi-Fi AP */
-#define TETHERING_STR_INFO_LEN         20      /**< length of the ip or mac address */
+#define TETHERING_STR_INFO_LEN 40      /**< length of the ip or mac address */
+#define TETHERING_IPV4_ADDRESS_MAX_LEN 15      /**< Maximum length of IP address */
+#define TETHERING_IPV4_ADDRESS_MIN_LEN 7       /**< Minimum length of IP address */
+
 
 /**
 * Mobile AP error code
@@ -155,6 +175,9 @@ typedef enum {
        MOBILE_AP_ENABLE_BT_TETHERING_CFM,
        MOBILE_AP_DISABLE_BT_TETHERING_CFM,
 
+       MOBILE_AP_ENABLE_P2P_TETHERING_CFM,
+       MOBILE_AP_DISABLE_P2P_TETHERING_CFM,
+
        MOBILE_AP_GET_STATION_INFO_CFM,
        MOBILE_AP_GET_DATA_PACKET_USAGE_CFM
 } mobile_ap_event_e;
@@ -163,6 +186,7 @@ typedef enum {
        MOBILE_AP_TYPE_WIFI,
        MOBILE_AP_TYPE_USB,
        MOBILE_AP_TYPE_BT,
+       MOBILE_AP_TYPE_P2P,
        MOBILE_AP_TYPE_MAX,
 } mobile_ap_type_e;
 
@@ -170,6 +194,8 @@ typedef enum {
        E_SIGNAL_NET_CLOSED = 0,
        E_SIGNAL_WIFI_TETHER_ON,
        E_SIGNAL_WIFI_TETHER_OFF,
+       E_SIGNAL_P2P_TETHER_ON,
+       E_SIGNAL_P2P_TETHER_OFF,
        E_SIGNAL_USB_TETHER_ON,
        E_SIGNAL_USB_TETHER_OFF,
        E_SIGNAL_BT_TETHER_ON,
@@ -177,7 +203,6 @@ typedef enum {
        E_SIGNAL_NO_DATA_TIMEOUT,
        E_SIGNAL_LOW_BATTERY_MODE,
        E_SIGNAL_FLIGHT_MODE,
-       E_SIGNAL_POWER_SAVE_MODE,
        E_SIGNAL_SECURITY_TYPE_CHANGED,
        E_SIGNAL_SSID_VISIBILITY_CHANGED,
        E_SIGNAL_PASSPHRASE_CHANGED,
@@ -197,6 +222,8 @@ typedef enum {
 #define SIGNAL_NAME_STA_DISCONNECT     "sta_disconnected"
 #define SIGNAL_NAME_WIFI_TETHER_ON     "wifi_on"
 #define SIGNAL_NAME_WIFI_TETHER_OFF    "wifi_off"
+#define SIGNAL_NAME_P2P_TETHER_ON   "p2p_on"
+#define SIGNAL_NAME_P2P_TETHER_OFF  "p2p_off"
 #define SIGNAL_NAME_USB_TETHER_ON      "usb_on"
 #define SIGNAL_NAME_USB_TETHER_OFF     "usb_off"
 #define SIGNAL_NAME_BT_TETHER_ON       "bluetooth_on"
@@ -226,11 +253,15 @@ typedef enum {
 #define TETHERING_BT_IF                        "bnep0"
 #define TETHERING_BT_GATEWAY           "192.168.130.1"
 
+#define TETHERING_P2P_IF               "p2p0"
+#define TETHERING_P2P_GATEWAY          "192.168.49.1"
+
 #define TETHERING_WIFI_SSID_MAX_LEN    32      /**< Maximum length of ssid */
 #define TETHERING_WIFI_KEY_MIN_LEN     8       /**< Minimum length of wifi key */
 #define TETHERING_WIFI_KEY_MAX_LEN     64      /**< Maximum length of wifi key */
 #define TETHERING_WIFI_HASH_KEY_MAX_LEN        64
 #define TETHERING_WIFI_MAX_STA 10              /**< Maximum Wi-Fi tethering station */
+#define TETHERING_WIFI_MAX_TXPOWER     100           /**< Default max TX POWER */
 
 #define TETHERING_WIFI_MODE_MAX_LEN 10  /**< Maximum length of mode */
 
@@ -244,9 +275,11 @@ typedef enum {
 */
 
 #define TETHERING_DEFAULT_SSID "Tizen"
+#define TETHERING_WIFI_CHANNEL 6
 #define TETHERING_WIFI_SECURITY_TYPE_OPEN_STR          "open"
 #define TETHERING_WIFI_SECURITY_TYPE_WPA2_PSK_STR      "wpa2-psk"
 #define TETHERING_WIFI_SECURITY_TYPE_WPS_STR   "wps"
+#define TETHERING_WIFI_SECURITY_TYPE_SAE_STR   "sae"
 #define TETHERING_ERROR_RECOVERY_MAX                   3
 #define SECURITY_TYPE_LEN      32
 #define PSK_ITERATION_COUNT    4096
@@ -286,13 +319,16 @@ typedef struct {
        char passphrase[TETHERING_WIFI_KEY_MAX_LEN + 1];
        tethering_wifi_security_type_e sec_type;
        tethering_wifi_mode_type_e mode_type;
+       char ip_address[TETHERING_IPV4_ADDRESS_MAX_LEN + 1];
        bool visibility;
        bool mac_filter;
        bool port_forwarding;
        bool port_filtering;
        bool dhcp_enabled;
+       bool wifi_sharing;
        int channel;
        int wifi_max_connected;
+       unsigned int txpower;
 } __tethering_h;
 
 typedef struct {
@@ -301,6 +337,7 @@ typedef struct {
        char mac[TETHERING_STR_INFO_LEN];               /**< MAC Address */
        char *hostname;
        time_t tm;      /**< connection time */
+       tethering_band_e band;                  /**< wifi band type */
 } __tethering_client_h;
 
 typedef struct {
@@ -315,13 +352,19 @@ typedef struct {
        char ssid[TETHERING_WIFI_SSID_MAX_LEN + 1];
        char key[TETHERING_WIFI_KEY_MAX_LEN + 1];
        char mode[TETHERING_WIFI_MODE_MAX_LEN + 1];
+       char ip_address[TETHERING_IPV4_ADDRESS_MAX_LEN + 1];
        tethering_wifi_security_type_e sec_type;
        bool visibility;
        bool mac_filter;
        int max_connected;
        int channel;
+       unsigned int txpower;
 } _softap_settings_t;
 
+void _tethering_add_handle(tethering_h handle);
+void _tethering_remove_handle(tethering_h handle);
+bool _tethering_check_handle(tethering_h handle);
+
 #ifdef __cplusplus
 }
 #endif