Maintain connection status when wifi roaming
[platform/upstream/connman.git] / gsupplicant / gsupplicant.h
index 7e94e97..884c92e 100755 (executable)
@@ -280,6 +280,31 @@ struct _GSupplicantP2PServiceParams {
 
 typedef struct _GSupplicantP2PServiceParams GSupplicantP2PServiceParams;
 
+#if defined TIZEN_EXT
+#define WIFI_BSSID_STR_LEN 18
+#define MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5]
+#define MACSTR "%02x:%02x:%02x:%02x:%02x:%02x"
+
+#define WIFI_BSSID_LEN_MAX 6
+
+struct g_connman_bssids {
+       unsigned char bssid[WIFI_BSSID_LEN_MAX];
+       uint16_t strength;
+       uint16_t frequency;
+       uint16_t assoc_reject_cnt;
+       bool is_last_connected;
+       int score_snr;
+#if defined TIZEN_EXT_INS
+       int score_last_connected_bssid;
+       int score_assoc_reject;
+       int score_frequency;
+       int score_strength;
+       int score_est_throughput;
+#endif
+       int ins_score;
+};
+#endif
+
 /* global API */
 typedef void (*GSupplicantCountryCallback) (int result,
                                                const char *alpha2,
@@ -305,13 +330,18 @@ typedef void (*GSupplicantInterfaceCallback) (int result,
 
 #if defined TIZEN_EXT
 typedef void (*GSupplicantMaxSpeedCallback) (int result, int maxspeed,
-                                            int strength, void *user_data);
+                                            int strength, int snr, void *user_data);
 #endif
 
 void g_supplicant_interface_cancel(GSupplicantInterface *interface);
 
 int g_supplicant_interface_create(const char *ifname, const char *driver,
                                        const char *bridge,
+#ifdef TIZEN_EXT
+                                       unsigned int mac_policy,
+                                       unsigned int preassoc_mac_policy,
+                                       unsigned int random_mac_lifetime,
+#endif /* TIZEN_EXT */
                                        GSupplicantInterfaceCallback callback,
                                                        void *user_data);
 int g_supplicant_interface_remove(GSupplicantInterface *interface,
@@ -378,6 +408,24 @@ void *g_supplicant_interface_get_data(GSupplicantInterface *interface);
 const char *g_supplicant_interface_get_ifname(GSupplicantInterface *interface);
 #if defined TIZEN_EXT
 bool g_supplicant_interface_get_is_5_0_ghz_supported(GSupplicantInterface *interface);
+unsigned char *g_supplicant_interface_get_add_network_bssid(GSupplicantInterface *interface);
+
+typedef void (*GSupplicantMacPolicyCallback) (int result, unsigned int policy, void *user_data);
+int g_supplicant_interface_set_mac_policy(GSupplicantInterface *interface,
+                                       GSupplicantMacPolicyCallback callback,
+                                                       unsigned int policy,
+                                                       void *user_data);
+
+int g_supplicant_interface_set_preassoc_mac_policy(GSupplicantInterface *interface,
+                                       GSupplicantMacPolicyCallback callback,
+                                                       unsigned int policy,
+                                                       void *user_data);
+
+typedef void (*GSupplicantRandomMaclifetimeCallback) (int result, unsigned int lifetime, void *user_data);
+int g_supplicant_interface_set_random_mac_lifetime(GSupplicantInterface *interface,
+                                       GSupplicantRandomMaclifetimeCallback callback,
+                                                       unsigned int lifetime,
+                                                       void *user_data);
 #endif
 const char *g_supplicant_interface_get_driver(GSupplicantInterface *interface);
 GSupplicantState g_supplicant_interface_get_state(GSupplicantInterface *interface);
@@ -475,18 +523,21 @@ const char *g_supplicant_network_get_eap(GSupplicantNetwork *network);
 const char *g_supplicant_network_get_identity(GSupplicantNetwork *network);
 const char *g_supplicant_network_get_phase2(GSupplicantNetwork *network);
 unsigned int g_supplicant_network_get_keymgmt(GSupplicantNetwork *network);
+dbus_bool_t g_supplicant_network_get_privacy(GSupplicantNetwork *network);
 void *g_supplicant_network_get_wifi_vsie(GSupplicantNetwork *network);
 const unsigned char *g_supplicant_network_get_countrycode(GSupplicantNetwork
                                                          *network);
+dbus_bool_t g_supplicant_network_is_pmf_required(GSupplicantNetwork *network);
 void *g_supplicant_network_get_bssid_list(GSupplicantNetwork *network);
 GSupplicantPhy_mode g_supplicant_network_get_phy_mode(GSupplicantNetwork *network);
 dbus_bool_t g_supplicant_network_get_transition_mode(GSupplicantNetwork *network);
 const unsigned char *g_supplicant_network_get_transition_mode_bssid(GSupplicantNetwork *network);
 const void *g_supplicant_network_get_transition_mode_ssid(GSupplicantNetwork *network,
                                                        unsigned int *transition_mode_ssid_len);
+void g_supplicant_network_set_signal(GSupplicantNetwork *network, int signal);
+void g_supplicant_network_set_bss_signal(GSupplicantNetwork *network,
+               int signal, int snr);
 
-#endif
-#if defined TIZEN_EXT
 void g_supplicant_network_set_last_connected_bssid(GSupplicantNetwork *network, const unsigned char *bssid);
 const unsigned char *g_supplicant_network_get_last_connected_bssid(GSupplicantNetwork *network);
 void g_supplicant_network_update_assoc_reject(GSupplicantInterface *interface,
@@ -494,6 +545,7 @@ void g_supplicant_network_update_assoc_reject(GSupplicantInterface *interface,
 GHashTable *g_supplicant_network_get_assoc_reject_table(GSupplicantNetwork *network);
 GSupplicantNetwork *g_supplicant_interface_get_network(GSupplicantInterface *interface,
                const char *group);
+GHashTable *g_supplicant_network_clone_assoc_reject_table(GSupplicantNetwork *network);
 #endif
 
 #if defined TIZEN_EXT && defined TIZEN_EXT_EAP_ON_ETHERNET
@@ -552,12 +604,12 @@ struct _GSupplicantCallbacks {
 
 typedef struct _GSupplicantCallbacks GSupplicantCallbacks;
 
-#if defined TIZEN_EXT
+#if defined TIZEN_EXT && defined TIZEN_EXT_INS
 void g_supplicant_set_ins_settings(GSupplicantINSPreferredFreq preferred_freq_bssid,
                bool last_connected_bssid, bool assoc_reject, bool signal_bssid,
                unsigned int preferred_freq_bssid_score, unsigned int last_connected_bssid_score,
                unsigned int assoc_reject_score, int signal_level3_5ghz, int signal_level3_24ghz);
-#endif
+#endif /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
 
 #if defined TIZEN_EXT && defined TIZEN_EXT_EAP_ON_ETHERNET
 void g_supplicant_replace_config_file(const char *ifname, const char *config_file);