diff options
author | Niraj Kumar Goit <niraj.g@samsung.com> | 2018-01-04 14:48:49 +0530 |
---|---|---|
committer | Seonah Moon <seonah1.moon@samsung.com> | 2018-01-23 16:59:24 +0900 |
commit | 0e3dff67b594543b0488007bc913b3939ffe0fe6 (patch) | |
tree | 861e7b40e81acacf63951cc79cc7191893aec420 /src/network.c | |
parent | 1e0637575d1d1250baa8551dde46bb7bab02bc38 (diff) | |
download | connman-0e3dff67b594543b0488007bc913b3939ffe0fe6.tar.gz connman-0e3dff67b594543b0488007bc913b3939ffe0fe6.tar.bz2 connman-0e3dff67b594543b0488007bc913b3939ffe0fe6.zip |
Modified logic to process each VSIE of all vendors.
Modified logic to process each VSIE of all vendors instead of
only samsung vendor(OUI: 001632). Received VSIE will be appended
in the list and shared with application.
Change-Id: Ifbb0159f40a8949a6f117416e5d436d5c2299b49
Diffstat (limited to 'src/network.c')
-rwxr-xr-x | src/network.c | 49 |
1 files changed, 27 insertions, 22 deletions
diff --git a/src/network.c b/src/network.c index d38fc0af..cf74b6d5 100755 --- a/src/network.c +++ b/src/network.c @@ -114,8 +114,7 @@ struct connman_network { bool rsn_mode; int disconnect_reason; int assoc_status_code; - void *wifi_vsie; - unsigned int wifi_vsie_len; + GSList *vsie_list; #endif } wifi; @@ -980,7 +979,7 @@ static void network_destruct(struct connman_network *network) g_free(network->wifi.phase2_auth); g_free(network->wifi.pin_wps); #if defined TIZEN_EXT - g_free(network->wifi.wifi_vsie); + g_slist_free_full(network->wifi.vsie_list, g_free); #endif g_free(network->path); g_free(network->group); @@ -2388,6 +2387,31 @@ bool connman_network_get_bool(struct connman_network *network, return false; } +#if defined TIZEN_EXT +/** + * connman_network_set_vsie_list: + * @network: network structure + * @vsie_list: GSList pointer + * + * Set vendor specific list pointer + */ +void connman_network_set_vsie_list(struct connman_network *network, GSList *vsie_list) +{ + network->wifi.vsie_list = vsie_list; +} + +/** + * connman_network_get_vsie_list: + * @network: network structure + * + * Get vendor specific list pointer + */ +void *connman_network_get_vsie_list(struct connman_network *network) +{ + return network->wifi.vsie_list; +} +#endif + /** * connman_network_set_blob: * @network: network structure @@ -2408,16 +2432,6 @@ int connman_network_set_blob(struct connman_network *network, network->wifi.ssid_len = size; } else network->wifi.ssid_len = 0; -#if defined TIZEN_EXT - } else if (g_str_equal(key, "WiFi.Vsie")){ - g_free(network->wifi.wifi_vsie); - network->wifi.wifi_vsie = g_try_malloc(size); - if (network->wifi.wifi_vsie) { - memcpy(network->wifi.wifi_vsie, data, size); - network->wifi.wifi_vsie_len = size; - } else - network->wifi.wifi_vsie_len = 0; -#endif } else { return -EINVAL; } @@ -2442,15 +2456,6 @@ const void *connman_network_get_blob(struct connman_network *network, return network->wifi.ssid; } -#if defined TIZEN_EXT - if (g_str_equal(key, "WiFi.Vsie")) { - if (size) - *size = network->wifi.wifi_vsie_len; - - return network->wifi.wifi_vsie; - } -#endif - return NULL; } |