1214501Srpaulo/* 2214501Srpaulo * WPA Supplicant - background scan and roaming interface 3214501Srpaulo * Copyright (c) 2009-2010, Jouni Malinen <j@w1.fi> 4214501Srpaulo * 5252726Srpaulo * This software may be distributed under the terms of the BSD license. 6252726Srpaulo * See README for more details. 7214501Srpaulo */ 8214501Srpaulo 9214501Srpaulo#ifndef BGSCAN_H 10214501Srpaulo#define BGSCAN_H 11214501Srpaulo 12214501Srpaulostruct wpa_supplicant; 13214501Srpaulostruct wpa_ssid; 14214501Srpaulo 15214501Srpaulostruct bgscan_ops { 16214501Srpaulo const char *name; 17214501Srpaulo 18214501Srpaulo void * (*init)(struct wpa_supplicant *wpa_s, const char *params, 19214501Srpaulo const struct wpa_ssid *ssid); 20214501Srpaulo void (*deinit)(void *priv); 21214501Srpaulo 22252726Srpaulo int (*notify_scan)(void *priv, struct wpa_scan_results *scan_res); 23214501Srpaulo void (*notify_beacon_loss)(void *priv); 24252726Srpaulo void (*notify_signal_change)(void *priv, int above, 25252726Srpaulo int current_signal, 26252726Srpaulo int current_noise, 27252726Srpaulo int current_txrate); 28214501Srpaulo}; 29214501Srpaulo 30214501Srpaulo#ifdef CONFIG_BGSCAN 31214501Srpaulo 32214501Srpauloint bgscan_init(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid); 33214501Srpaulovoid bgscan_deinit(struct wpa_supplicant *wpa_s); 34252726Srpauloint bgscan_notify_scan(struct wpa_supplicant *wpa_s, 35252726Srpaulo struct wpa_scan_results *scan_res); 36214501Srpaulovoid bgscan_notify_beacon_loss(struct wpa_supplicant *wpa_s); 37252726Srpaulovoid bgscan_notify_signal_change(struct wpa_supplicant *wpa_s, int above, 38252726Srpaulo int current_signal, int current_noise, 39252726Srpaulo int current_txrate); 40214501Srpaulo 41214501Srpaulo#else /* CONFIG_BGSCAN */ 42214501Srpaulo 43214501Srpaulostatic inline int bgscan_init(struct wpa_supplicant *wpa_s, 44214501Srpaulo struct wpa_ssid *ssid) 45214501Srpaulo{ 46214501Srpaulo return 0; 47214501Srpaulo} 48214501Srpaulo 49214501Srpaulostatic inline void bgscan_deinit(struct wpa_supplicant *wpa_s) 50214501Srpaulo{ 51214501Srpaulo} 52214501Srpaulo 53252726Srpaulostatic inline int bgscan_notify_scan(struct wpa_supplicant *wpa_s, 54252726Srpaulo struct wpa_scan_results *scan_res) 55214501Srpaulo{ 56214501Srpaulo return 0; 57214501Srpaulo} 58214501Srpaulo 59214501Srpaulostatic inline void bgscan_notify_beacon_loss(struct wpa_supplicant *wpa_s) 60214501Srpaulo{ 61214501Srpaulo} 62214501Srpaulo 63214501Srpaulostatic inline void bgscan_notify_signal_change(struct wpa_supplicant *wpa_s, 64252726Srpaulo int above, int current_signal, 65252726Srpaulo int current_noise, 66252726Srpaulo int current_txrate) 67214501Srpaulo{ 68214501Srpaulo} 69214501Srpaulo 70214501Srpaulo#endif /* CONFIG_BGSCAN */ 71214501Srpaulo 72214501Srpaulo#endif /* BGSCAN_H */ 73