summaryrefslogtreecommitdiff
path: root/src/network.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/network.c')
-rwxr-xr-xsrc/network.c28
1 files changed, 23 insertions, 5 deletions
diff --git a/src/network.c b/src/network.c
index b7103683..9933b723 100755
--- a/src/network.c
+++ b/src/network.c
@@ -41,11 +41,6 @@
*/
#define RS_REFRESH_TIMEOUT 3
-#if defined TIZEN_EXT
-#define WIFI_ENCYPTION_MODE_LEN_MAX 6
-#define WIFI_BSSID_LEN_MAX 6
-#endif
-
/*
* As per RFC 4861, a host should transmit up to MAX_RTR_SOLICITATIONS(3)
* Router Solicitation messages, each separated by at least
@@ -107,6 +102,7 @@ struct connman_network {
#if defined TIZEN_EXT
char encryption_mode[WIFI_ENCYPTION_MODE_LEN_MAX];
unsigned char bssid[WIFI_BSSID_LEN_MAX];
+ char last_bssid[MAC_ADDRESS_LENGTH];
unsigned int maxrate;
int maxspeed;
bool isHS20AP;
@@ -1584,6 +1580,11 @@ int connman_network_set_connected(struct connman_network *network,
network, network->connected, connected, network->connecting,
network->associating);
+#if defined TIZEN_EXT
+ /* reset last connect request bssid */
+ connman_network_set_last_bssid(network, NULL);
+#endif
+
if ((network->connecting || network->associating) &&
!connected) {
connman_network_set_error(network,
@@ -1975,6 +1976,23 @@ unsigned char *connman_network_get_bssid(struct connman_network *network)
return (unsigned char *)network->wifi.bssid;
}
+int connman_network_set_last_bssid(struct connman_network *network,
+ const char *bssid)
+{
+ if (bssid == NULL) {
+ memset(network->wifi.last_bssid, '\0', sizeof(network->wifi.last_bssid));
+ return -EINVAL;
+ }
+ strncpy(network->wifi.last_bssid, bssid, MAC_ADDRESS_LENGTH - 1);
+
+ return 0;
+}
+
+char *connman_network_get_last_bssid(struct connman_network *network)
+{
+ return (char *)network->wifi.last_bssid;
+}
+
int connman_network_set_maxspeed(struct connman_network *network,
int maxspeed)
{