X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Ftethering_private.h;h=b6a36c23df80722c9d4ac3d1480ccb710448762c;hb=HEAD;hp=3572e137d1d9364853930d14fc8e3614e244c998;hpb=aeb973cd6e62d0c1abd353c4c15d405ac5a5820e;p=platform%2Fcore%2Fapi%2Ftethering.git diff --git a/include/tethering_private.h b/include/tethering_private.h index 3572e13..b6a36c2 100644 --- a/include/tethering_private.h +++ b/include/tethering_private.h @@ -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,8 +175,8 @@ typedef enum { MOBILE_AP_ENABLE_BT_TETHERING_CFM, MOBILE_AP_DISABLE_BT_TETHERING_CFM, - MOBILE_AP_ENABLE_WIFI_AP_CFM, - MOBILE_AP_DISABLE_WIFI_AP_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 @@ -166,7 +186,7 @@ typedef enum { MOBILE_AP_TYPE_WIFI, MOBILE_AP_TYPE_USB, MOBILE_AP_TYPE_BT, - MOBILE_AP_TYPE_WIFI_AP, + MOBILE_AP_TYPE_P2P, MOBILE_AP_TYPE_MAX, } mobile_ap_type_e; @@ -174,16 +194,15 @@ 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, E_SIGNAL_BT_TETHER_OFF, - E_SIGNAL_WIFI_AP_ON, - E_SIGNAL_WIFI_AP_OFF, 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, @@ -203,12 +222,12 @@ 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" #define SIGNAL_NAME_BT_TETHER_OFF "bluetooth_off" -#define SIGNAL_NAME_WIFI_AP_ON "wifi_ap_on" -#define SIGNAL_NAME_WIFI_AP_OFF "wifi_ap_off" #define SIGNAL_NAME_NO_DATA_TIMEOUT "no_data_timeout" #define SIGNAL_NAME_LOW_BATTERY_MODE "low_batt_mode" #define SIGNAL_NAME_FLIGHT_MODE "flight_mode" @@ -234,10 +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 */ @@ -251,8 +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 @@ -288,17 +315,20 @@ typedef struct { void *passphrase_user_data; tethering_wifi_settings_reloaded_cb settings_reloaded_cb; void *settings_reloaded_user_data; - tethering_wifi_ap_settings_reloaded_cb ap_settings_reloaded_cb; - void *ap_settings_reloaded_user_data; char *ssid; - char *ap_ssid; 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 { @@ -307,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 { @@ -321,12 +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