#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)
} 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
*/
#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,
#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)
/**
* 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
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;
MOBILE_AP_TYPE_WIFI,
MOBILE_AP_TYPE_USB,
MOBILE_AP_TYPE_BT,
+ MOBILE_AP_TYPE_P2P,
MOBILE_AP_TYPE_MAX,
} mobile_ap_type_e;
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_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,
#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 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 */
*/
#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
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 {
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 {
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