bgscan.h revision 281806
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 32281806Srpauloint bgscan_init(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid, 33281806Srpaulo const char *name); 34214501Srpaulovoid bgscan_deinit(struct wpa_supplicant *wpa_s); 35252726Srpauloint bgscan_notify_scan(struct wpa_supplicant *wpa_s, 36252726Srpaulo struct wpa_scan_results *scan_res); 37214501Srpaulovoid bgscan_notify_beacon_loss(struct wpa_supplicant *wpa_s); 38252726Srpaulovoid bgscan_notify_signal_change(struct wpa_supplicant *wpa_s, int above, 39252726Srpaulo int current_signal, int current_noise, 40252726Srpaulo int current_txrate); 41214501Srpaulo 42214501Srpaulo#else /* CONFIG_BGSCAN */ 43214501Srpaulo 44214501Srpaulostatic inline int bgscan_init(struct wpa_supplicant *wpa_s, 45281806Srpaulo struct wpa_ssid *ssid, const char name) 46214501Srpaulo{ 47214501Srpaulo return 0; 48214501Srpaulo} 49214501Srpaulo 50214501Srpaulostatic inline void bgscan_deinit(struct wpa_supplicant *wpa_s) 51214501Srpaulo{ 52214501Srpaulo} 53214501Srpaulo 54252726Srpaulostatic inline int bgscan_notify_scan(struct wpa_supplicant *wpa_s, 55252726Srpaulo struct wpa_scan_results *scan_res) 56214501Srpaulo{ 57214501Srpaulo return 0; 58214501Srpaulo} 59214501Srpaulo 60214501Srpaulostatic inline void bgscan_notify_beacon_loss(struct wpa_supplicant *wpa_s) 61214501Srpaulo{ 62214501Srpaulo} 63214501Srpaulo 64214501Srpaulostatic inline void bgscan_notify_signal_change(struct wpa_supplicant *wpa_s, 65252726Srpaulo int above, int current_signal, 66252726Srpaulo int current_noise, 67252726Srpaulo int current_txrate) 68214501Srpaulo{ 69214501Srpaulo} 70214501Srpaulo 71214501Srpaulo#endif /* CONFIG_BGSCAN */ 72214501Srpaulo 73214501Srpaulo#endif /* BGSCAN_H */ 74