/* * WPA Supplicant - auto scan * 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. */ #ifndef AUTOSCAN_H #define AUTOSCAN_H struct wpa_supplicant; struct autoscan_ops { const char *name; void * (*init)(struct wpa_supplicant *wpa_s, const char *params); void (*deinit)(void *priv); int (*notify_scan)(void *priv, struct wpa_scan_results *scan_res); }; #ifdef CONFIG_AUTOSCAN int autoscan_init(struct wpa_supplicant *wpa_s, int req_scan); void autoscan_deinit(struct wpa_supplicant *wpa_s); int autoscan_notify_scan(struct wpa_supplicant *wpa_s, struct wpa_scan_results *scan_res); /* Available autoscan modules */ #ifdef CONFIG_AUTOSCAN_EXPONENTIAL extern const struct autoscan_ops autoscan_exponential_ops; #endif /* CONFIG_AUTOSCAN_EXPONENTIAL */ #ifdef CONFIG_AUTOSCAN_PERIODIC extern const struct autoscan_ops autoscan_periodic_ops; #endif /* CONFIG_AUTOSCAN_PERIODIC */ #else /* CONFIG_AUTOSCAN */ static inline int autoscan_init(struct wpa_supplicant *wpa_s, int req_scan) { return 0; } static inline void autoscan_deinit(struct wpa_supplicant *wpa_s) { } static inline int autoscan_notify_scan(struct wpa_supplicant *wpa_s, struct wpa_scan_results *scan_res) { return 0; } #endif /* CONFIG_AUTOSCAN */ #endif /* AUTOSCAN_H */