diff options
author | hyunuk.tak <hyunuk.tak@samsung.com> | 2020-04-07 12:57:45 +0900 |
---|---|---|
committer | hyunuk.tak <hyunuk.tak@samsung.com> | 2020-04-16 12:39:44 +0900 |
commit | 70730f50e09cac648b1c3b48f0a1e6ed40cc510f (patch) | |
tree | 649a28589e37dd9ce5b1d17a18aa32ac2e418a7e /src/network.c | |
parent | e1c81b4af01d7f63325a516cc298097cf18d5c73 (diff) | |
download | connman-70730f50e09cac648b1c3b48f0a1e6ed40cc510f.tar.gz connman-70730f50e09cac648b1c3b48f0a1e6ed40cc510f.tar.bz2 connman-70730f50e09cac648b1c3b48f0a1e6ed40cc510f.zip |
Add intelligent Network Selectionsubmit/tizen/20200417.010643accepted/tizen/unified/20200417.152700
Change-Id: I049207e7d662f657ca21a4046be953f8f33bbd10
Signed-off-by: hyunuk.tak <hyunuk.tak@samsung.com>
Diffstat (limited to 'src/network.c')
-rwxr-xr-x | src/network.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/network.c b/src/network.c index d8756ec1..f1183b37 100755 --- a/src/network.c +++ b/src/network.c @@ -52,6 +52,12 @@ #define DHCP_RETRY_TIMEOUT 10 +#if defined TIZEN_EXT +static unsigned char invalid_bssid[WIFI_BSSID_LEN_MAX] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +#endif + static GSList *network_list = NULL; static GSList *driver_list = NULL; @@ -131,6 +137,10 @@ struct connman_network { char *c_sign_key; char *net_access_key; #endif +#if defined TIZEN_EXT + unsigned char last_connected_bssid[WIFI_BSSID_LEN_MAX]; + GHashTable *assoc_reject_table; +#endif } wifi; #if defined TIZEN_EXT @@ -2509,6 +2519,45 @@ void *connman_network_get_bssid_list(struct connman_network *network) { return network->wifi.bssid_list; } + +int connman_network_set_last_connected_bssid(struct connman_network *network, + const unsigned char *bssid) +{ + if (!bssid) + return -EINVAL; + + if (!memcmp(bssid, invalid_bssid, WIFI_BSSID_LEN_MAX)) + return -EINVAL; + + memcpy(network->wifi.last_connected_bssid, bssid, WIFI_BSSID_LEN_MAX); + + return 0; +} + +unsigned char *connman_network_get_last_connected_bssid(struct connman_network *network) +{ + return (unsigned char *)network->wifi.last_connected_bssid; +} + +void connman_network_set_assoc_reject_table(struct connman_network *network, + GHashTable *assoc_reject_table) +{ + if (!network) + return; + + if (!assoc_reject_table) + return; + + network->wifi.assoc_reject_table = assoc_reject_table; +} + +GHashTable *connman_network_get_assoc_reject_table(struct connman_network *network) +{ + if (!network) + return NULL; + + return network->wifi.assoc_reject_table; +} #endif int connman_network_set_nameservers(struct connman_network *network, |