bgscan.h revision 214501
1214501Srpaulo/*
2214501Srpaulo * WPA Supplicant - background scan and roaming interface
3214501Srpaulo * Copyright (c) 2009-2010, Jouni Malinen <j@w1.fi>
4214501Srpaulo *
5214501Srpaulo * This program is free software; you can redistribute it and/or modify
6214501Srpaulo * it under the terms of the GNU General Public License version 2 as
7214501Srpaulo * published by the Free Software Foundation.
8214501Srpaulo *
9214501Srpaulo * Alternatively, this software may be distributed under the terms of BSD
10214501Srpaulo * license.
11214501Srpaulo *
12214501Srpaulo * See README and COPYING for more details.
13214501Srpaulo */
14214501Srpaulo
15214501Srpaulo#ifndef BGSCAN_H
16214501Srpaulo#define BGSCAN_H
17214501Srpaulo
18214501Srpaulostruct wpa_supplicant;
19214501Srpaulostruct wpa_ssid;
20214501Srpaulo
21214501Srpaulostruct bgscan_ops {
22214501Srpaulo	const char *name;
23214501Srpaulo
24214501Srpaulo	void * (*init)(struct wpa_supplicant *wpa_s, const char *params,
25214501Srpaulo		       const struct wpa_ssid *ssid);
26214501Srpaulo	void (*deinit)(void *priv);
27214501Srpaulo
28214501Srpaulo	int (*notify_scan)(void *priv);
29214501Srpaulo	void (*notify_beacon_loss)(void *priv);
30214501Srpaulo	void (*notify_signal_change)(void *priv, int above);
31214501Srpaulo};
32214501Srpaulo
33214501Srpaulo#ifdef CONFIG_BGSCAN
34214501Srpaulo
35214501Srpauloint bgscan_init(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid);
36214501Srpaulovoid bgscan_deinit(struct wpa_supplicant *wpa_s);
37214501Srpauloint bgscan_notify_scan(struct wpa_supplicant *wpa_s);
38214501Srpaulovoid bgscan_notify_beacon_loss(struct wpa_supplicant *wpa_s);
39214501Srpaulovoid bgscan_notify_signal_change(struct wpa_supplicant *wpa_s, int above);
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
53214501Srpaulostatic inline int bgscan_notify_scan(struct wpa_supplicant *wpa_s)
54214501Srpaulo{
55214501Srpaulo	return 0;
56214501Srpaulo}
57214501Srpaulo
58214501Srpaulostatic inline void bgscan_notify_beacon_loss(struct wpa_supplicant *wpa_s)
59214501Srpaulo{
60214501Srpaulo}
61214501Srpaulo
62214501Srpaulostatic inline void bgscan_notify_signal_change(struct wpa_supplicant *wpa_s,
63214501Srpaulo					       int above)
64214501Srpaulo{
65214501Srpaulo}
66214501Srpaulo
67214501Srpaulo#endif /* CONFIG_BGSCAN */
68214501Srpaulo
69214501Srpaulo#endif /* BGSCAN_H */
70