]>
Commit | Line | Data |
---|---|---|
60b94c98 JM |
1 | /* |
2 | * WPA Supplicant - background scan and roaming interface | |
e2f74005 | 3 | * Copyright (c) 2009-2010, Jouni Malinen <j@w1.fi> |
60b94c98 | 4 | * |
0f3d578e JM |
5 | * This software may be distributed under the terms of the BSD license. |
6 | * See README for more details. | |
60b94c98 JM |
7 | */ |
8 | ||
9 | #ifndef BGSCAN_H | |
10 | #define BGSCAN_H | |
11 | ||
12 | struct wpa_supplicant; | |
13 | struct wpa_ssid; | |
14 | ||
15 | struct bgscan_ops { | |
16 | const char *name; | |
17 | ||
18 | void * (*init)(struct wpa_supplicant *wpa_s, const char *params, | |
19 | const struct wpa_ssid *ssid); | |
20 | void (*deinit)(void *priv); | |
21 | ||
c2594c36 | 22 | int (*notify_scan)(void *priv, struct wpa_scan_results *scan_res); |
60b94c98 | 23 | void (*notify_beacon_loss)(void *priv); |
60a972a6 | 24 | void (*notify_signal_change)(void *priv, int above, |
174fa789 PS |
25 | int current_signal, |
26 | int current_noise, | |
27 | int current_txrate); | |
60b94c98 JM |
28 | }; |
29 | ||
30 | #ifdef CONFIG_BGSCAN | |
31 | ||
31392709 HD |
32 | int bgscan_init(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid, |
33 | const char *name); | |
60b94c98 | 34 | void bgscan_deinit(struct wpa_supplicant *wpa_s); |
c2594c36 JM |
35 | int bgscan_notify_scan(struct wpa_supplicant *wpa_s, |
36 | struct wpa_scan_results *scan_res); | |
60b94c98 | 37 | void bgscan_notify_beacon_loss(struct wpa_supplicant *wpa_s); |
60a972a6 | 38 | void bgscan_notify_signal_change(struct wpa_supplicant *wpa_s, int above, |
174fa789 PS |
39 | int current_signal, int current_noise, |
40 | int current_txrate); | |
60b94c98 | 41 | |
9eece213 JM |
42 | /* Available bgscan modules */ |
43 | ||
44 | #ifdef CONFIG_BGSCAN_SIMPLE | |
45 | extern const struct bgscan_ops bgscan_simple_ops; | |
46 | #endif /* CONFIG_BGSCAN_SIMPLE */ | |
47 | #ifdef CONFIG_BGSCAN_LEARN | |
48 | extern const struct bgscan_ops bgscan_learn_ops; | |
49 | #endif /* CONFIG_BGSCAN_LEARN */ | |
50 | ||
60b94c98 JM |
51 | #else /* CONFIG_BGSCAN */ |
52 | ||
53 | static inline int bgscan_init(struct wpa_supplicant *wpa_s, | |
31392709 | 54 | struct wpa_ssid *ssid, const char name) |
60b94c98 JM |
55 | { |
56 | return 0; | |
57 | } | |
58 | ||
59 | static inline void bgscan_deinit(struct wpa_supplicant *wpa_s) | |
60 | { | |
61 | } | |
62 | ||
c2594c36 JM |
63 | static inline int bgscan_notify_scan(struct wpa_supplicant *wpa_s, |
64 | struct wpa_scan_results *scan_res) | |
60b94c98 JM |
65 | { |
66 | return 0; | |
67 | } | |
68 | ||
69 | static inline void bgscan_notify_beacon_loss(struct wpa_supplicant *wpa_s) | |
70 | { | |
71 | } | |
72 | ||
e2f74005 | 73 | static inline void bgscan_notify_signal_change(struct wpa_supplicant *wpa_s, |
174fa789 PS |
74 | int above, int current_signal, |
75 | int current_noise, | |
76 | int current_txrate) | |
60b94c98 JM |
77 | { |
78 | } | |
79 | ||
80 | #endif /* CONFIG_BGSCAN */ | |
81 | ||
82 | #endif /* BGSCAN_H */ |