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