X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Fconnman.git;a=blobdiff_plain;f=src%2Fnetwork.c;h=8eb8c1e557838aa7cfe1d81a6645a4bde334553d;hp=3bf62992952b988db21715eb3efefbcf762dc9c2;hb=00b8c314dc2cfb641494d413f4b00d90a10ecbeb;hpb=b6922282a9e5ede695b4294ffc4d696838523dd6 diff --git a/src/network.c b/src/network.c index 3bf6299..8eb8c1e 100755 --- a/src/network.c +++ b/src/network.c @@ -147,9 +147,11 @@ struct connman_network { int transition_mode_ssid_len; unsigned char transition_mode_bssid[WIFI_BSSID_LEN_MAX]; bool roaming_progress; + bool roaming_dhcp; char *roaming_cur_bssid; char *roaming_dst_bssid; __time_t roam_scan_time; + unsigned int max_bssid_count; int snr; #endif } wifi; @@ -600,7 +602,11 @@ static void remove_dhcp_timeout(struct connman_network *network) } } +#if defined TIZEN_EXT +int set_connected_dhcp(struct connman_network *network) +#else static int set_connected_dhcp(struct connman_network *network) +#endif { struct connman_service *service; struct connman_ipconfig *ipconfig_ipv4; @@ -1415,6 +1421,9 @@ struct connman_network * connman_network_ref_debug(struct connman_network *network, const char *file, int line, const char *caller) { +#if defined TIZEN_EXT + if (!simplified_log) +#endif DBG("%p name %s ref %d by %s:%d:%s()", network, network->name, network->refcount + 1, file, line, caller); @@ -1432,6 +1441,9 @@ connman_network_ref_debug(struct connman_network *network, void connman_network_unref_debug(struct connman_network *network, const char *file, int line, const char *caller) { +#if defined TIZEN_EXT + if (!simplified_log) +#endif DBG("%p name %s ref %d by %s:%d:%s()", network, network->name, network->refcount - 1, file, line, caller); @@ -2380,9 +2392,6 @@ int connman_network_set_bssid(struct connman_network *network, if (bssid == NULL) return -EINVAL; - if (network->connected) - return -EPERM; - if (!simplified_log) DBG("network %p bssid %02x:%02x:%02x:%02x:%02x:%02x", network, bssid[0], bssid[1], bssid[2], @@ -2601,9 +2610,15 @@ unsigned char *connman_network_get_countrycode(struct connman_network *network) int connman_network_set_bssid_list(struct connman_network *network, GSList *bssids) { + unsigned int max_bssid_count; + g_slist_free_full(network->wifi.bssid_list, g_free); network->wifi.bssid_list = bssids; + max_bssid_count = g_slist_length(bssids); + if (network->wifi.max_bssid_count < max_bssid_count) + network->wifi.max_bssid_count = max_bssid_count; + return 0; } @@ -2641,6 +2656,11 @@ void *connman_network_get_bssid_list(struct connman_network *network) return network->wifi.bssid_list; } +unsigned int connman_network_get_max_bssid_count(struct connman_network *network) +{ + return network->wifi.max_bssid_count; +} + int connman_network_set_last_connected_bssid(struct connman_network *network, const unsigned char *bssid) { @@ -3034,6 +3054,8 @@ int connman_network_set_bool(struct connman_network *network, network->wifi.owe_transition_mode = value; else if (g_strcmp0(key, "WiFi.Roaming") == 0) network->wifi.roaming_progress = value; + else if (g_strcmp0(key, "WiFi.RoamingDHCP") == 0) + network->wifi.roaming_dhcp = value; else if (g_strcmp0(key, "WiFi.PMFRequired") == 0) network->wifi.pmf_required = value; #endif @@ -3068,6 +3090,8 @@ bool connman_network_get_bool(struct connman_network *network, return network->wifi.owe_transition_mode; else if (g_str_equal(key, "WiFi.Roaming")) return network->wifi.roaming_progress; + else if (g_str_equal(key, "WiFi.RoamingDHCP")) + return network->wifi.roaming_dhcp; else if (g_str_equal(key, "WiFi.PMFRequired")) return network->wifi.pmf_required; #endif