diff options
Diffstat (limited to 'wpa_supplicant/autoscan_exponential.c')
-rw-r--r-- | wpa_supplicant/autoscan_exponential.c | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/wpa_supplicant/autoscan_exponential.c b/wpa_supplicant/autoscan_exponential.c deleted file mode 100644 index 424477be8d43..000000000000 --- a/wpa_supplicant/autoscan_exponential.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * WPA Supplicant - auto scan exponential module - * Copyright (c) 2012, Intel Corporation. All rights reserved. - * - * This software may be distributed under the terms of the BSD license. - * See README for more details. - */ - -#include "includes.h" - -#include "common.h" -#include "wpa_supplicant_i.h" -#include "autoscan.h" - -struct autoscan_exponential_data { - struct wpa_supplicant *wpa_s; - int base; - int limit; - int interval; -}; - - -static int -autoscan_exponential_get_params(struct autoscan_exponential_data *data, - const char *params) -{ - const char *pos; - - if (params == NULL) - return -1; - - data->base = atoi(params); - - pos = os_strchr(params, ':'); - if (pos == NULL) - return -1; - - pos++; - data->limit = atoi(pos); - - return 0; -} - - -static void * autoscan_exponential_init(struct wpa_supplicant *wpa_s, - const char *params) -{ - struct autoscan_exponential_data *data; - - data = os_zalloc(sizeof(struct autoscan_exponential_data)); - if (data == NULL) - return NULL; - - if (autoscan_exponential_get_params(data, params) < 0) { - os_free(data); - return NULL; - } - - wpa_printf(MSG_DEBUG, "autoscan exponential: base exponential is %d " - "and limit is %d", data->base, data->limit); - - data->wpa_s = wpa_s; - - return data; -} - - -static void autoscan_exponential_deinit(void *priv) -{ - struct autoscan_exponential_data *data = priv; - - os_free(data); -} - - -static int autoscan_exponential_notify_scan(void *priv, - struct wpa_scan_results *scan_res) -{ - struct autoscan_exponential_data *data = priv; - - wpa_printf(MSG_DEBUG, "autoscan exponential: scan result " - "notification"); - - if (data->interval >= data->limit) - return data->limit; - - if (data->interval <= 0) - data->interval = data->base; - else { - data->interval = data->interval * data->base; - if (data->interval > data->limit) - return data->limit; - } - - return data->interval; -} - - -const struct autoscan_ops autoscan_exponential_ops = { - .name = "exponential", - .init = autoscan_exponential_init, - .deinit = autoscan_exponential_deinit, - .notify_scan = autoscan_exponential_notify_scan, -}; |