1e5b75505Sopenharmony_ci/* 2e5b75505Sopenharmony_ci * WPA Supplicant - auto scan 3e5b75505Sopenharmony_ci * Copyright (c) 2012, Intel Corporation. All rights reserved. 4e5b75505Sopenharmony_ci * 5e5b75505Sopenharmony_ci * This software may be distributed under the terms of the BSD license. 6e5b75505Sopenharmony_ci * See README for more details. 7e5b75505Sopenharmony_ci */ 8e5b75505Sopenharmony_ci 9e5b75505Sopenharmony_ci#ifndef AUTOSCAN_H 10e5b75505Sopenharmony_ci#define AUTOSCAN_H 11e5b75505Sopenharmony_ci 12e5b75505Sopenharmony_cistruct wpa_supplicant; 13e5b75505Sopenharmony_ci 14e5b75505Sopenharmony_cistruct autoscan_ops { 15e5b75505Sopenharmony_ci const char *name; 16e5b75505Sopenharmony_ci 17e5b75505Sopenharmony_ci void * (*init)(struct wpa_supplicant *wpa_s, const char *params); 18e5b75505Sopenharmony_ci void (*deinit)(void *priv); 19e5b75505Sopenharmony_ci 20e5b75505Sopenharmony_ci int (*notify_scan)(void *priv, struct wpa_scan_results *scan_res); 21e5b75505Sopenharmony_ci}; 22e5b75505Sopenharmony_ci 23e5b75505Sopenharmony_ci#ifdef CONFIG_AUTOSCAN 24e5b75505Sopenharmony_ci 25e5b75505Sopenharmony_ciint autoscan_init(struct wpa_supplicant *wpa_s, int req_scan); 26e5b75505Sopenharmony_civoid autoscan_deinit(struct wpa_supplicant *wpa_s); 27e5b75505Sopenharmony_ciint autoscan_notify_scan(struct wpa_supplicant *wpa_s, 28e5b75505Sopenharmony_ci struct wpa_scan_results *scan_res); 29e5b75505Sopenharmony_ci 30e5b75505Sopenharmony_ci/* Available autoscan modules */ 31e5b75505Sopenharmony_ci 32e5b75505Sopenharmony_ci#ifdef CONFIG_AUTOSCAN_EXPONENTIAL 33e5b75505Sopenharmony_ciextern const struct autoscan_ops autoscan_exponential_ops; 34e5b75505Sopenharmony_ci#endif /* CONFIG_AUTOSCAN_EXPONENTIAL */ 35e5b75505Sopenharmony_ci 36e5b75505Sopenharmony_ci#ifdef CONFIG_AUTOSCAN_PERIODIC 37e5b75505Sopenharmony_ciextern const struct autoscan_ops autoscan_periodic_ops; 38e5b75505Sopenharmony_ci#endif /* CONFIG_AUTOSCAN_PERIODIC */ 39e5b75505Sopenharmony_ci 40e5b75505Sopenharmony_ci#else /* CONFIG_AUTOSCAN */ 41e5b75505Sopenharmony_ci 42e5b75505Sopenharmony_cistatic inline int autoscan_init(struct wpa_supplicant *wpa_s, int req_scan) 43e5b75505Sopenharmony_ci{ 44e5b75505Sopenharmony_ci return 0; 45e5b75505Sopenharmony_ci} 46e5b75505Sopenharmony_ci 47e5b75505Sopenharmony_cistatic inline void autoscan_deinit(struct wpa_supplicant *wpa_s) 48e5b75505Sopenharmony_ci{ 49e5b75505Sopenharmony_ci} 50e5b75505Sopenharmony_ci 51e5b75505Sopenharmony_cistatic inline int autoscan_notify_scan(struct wpa_supplicant *wpa_s, 52e5b75505Sopenharmony_ci struct wpa_scan_results *scan_res) 53e5b75505Sopenharmony_ci{ 54e5b75505Sopenharmony_ci return 0; 55e5b75505Sopenharmony_ci} 56e5b75505Sopenharmony_ci 57e5b75505Sopenharmony_ci#endif /* CONFIG_AUTOSCAN */ 58e5b75505Sopenharmony_ci 59e5b75505Sopenharmony_ci#endif /* AUTOSCAN_H */ 60