Add scan parameter support for client MLME
[mech_eap.orig] / wpa_supplicant / mlme.h
1 /*
2  * WPA Supplicant - Client mode MLME
3  * Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi>
4  * Copyright (c) 2004, Instant802 Networks, Inc.
5  * Copyright (c) 2005-2006, Devicescape Software, Inc.
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  *
11  * Alternatively, this software may be distributed under the terms of BSD
12  * license.
13  *
14  * See README and COPYING for more details.
15  */
16
17 #ifndef MLME_H
18 #define MLME_H
19
20 struct wpa_supplicant;
21
22 #ifdef CONFIG_CLIENT_MLME
23
24 int ieee80211_sta_init(struct wpa_supplicant *wpa_s);
25 void ieee80211_sta_deinit(struct wpa_supplicant *wpa_s);
26 int ieee80211_sta_req_scan(struct wpa_supplicant *wpa_s,
27                            struct wpa_driver_scan_params *params);
28 int ieee80211_sta_deauthenticate(struct wpa_supplicant *wpa_s, u16 reason);
29 int ieee80211_sta_disassociate(struct wpa_supplicant *wpa_s, u16 reason);
30 int ieee80211_sta_associate(struct wpa_supplicant *wpa_s,
31                             struct wpa_driver_associate_params *params);
32 int ieee80211_sta_get_ssid(struct wpa_supplicant *wpa_s, u8 *ssid,
33                            size_t *len);
34 void ieee80211_sta_free_hw_features(struct hostapd_hw_modes *hw_features,
35                                     size_t num_hw_features);
36 void ieee80211_sta_rx(struct wpa_supplicant *wpa_s, const u8 *buf, size_t len,
37                       struct ieee80211_rx_status *rx_status);
38 struct wpa_scan_results *
39 ieee80211_sta_get_scan_results(struct wpa_supplicant *wpa_s);
40 int ieee80211_sta_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
41                                 const u8 *ies, size_t ies_len);
42 int ieee80211_sta_send_ft_action(struct wpa_supplicant *wpa_s, u8 action,
43                                  const u8 *target_ap,
44                                  const u8 *ies, size_t ies_len);
45
46 #else /* CONFIG_CLIENT_MLME */
47
48 static inline int ieee80211_sta_init(struct wpa_supplicant *wpa_s)
49 {
50         return 0;
51 }
52
53 static inline void ieee80211_sta_deinit(struct wpa_supplicant *wpa_s)
54 {
55 }
56
57 static inline int ieee80211_sta_req_scan(struct wpa_supplicant *wpa_s,
58                                          struct wpa_driver_scan_params *params)
59 {
60         return -1;
61 }
62
63 static inline int ieee80211_sta_deauthenticate(struct wpa_supplicant *wpa_s,
64                                                u16 reason)
65 {
66         return -1;
67 }
68
69 static inline int ieee80211_sta_disassociate(struct wpa_supplicant *wpa_s,
70                                              u16 reason)
71 {
72         return -1;
73 }
74
75 static inline int
76 ieee80211_sta_associate(struct wpa_supplicant *wpa_s,
77                         struct wpa_driver_associate_params *params)
78 {
79         return -1;
80 }
81
82 static inline int ieee80211_sta_get_ssid(struct wpa_supplicant *wpa_s,
83                                          u8 *ssid, size_t *len)
84 {
85         return -1;
86 }
87
88 static inline void
89 ieee80211_sta_free_hw_features(struct hostapd_hw_modes *hw_features,
90                                size_t num_hw_features)
91 {
92 }
93
94 static inline void
95 ieee80211_sta_rx(struct wpa_supplicant *wpa_s, const u8 *buf, size_t len,
96                  struct ieee80211_rx_status *rx_status)
97 {
98 }
99
100 static inline struct wpa_scan_results *
101 ieee80211_sta_get_scan_results(struct wpa_supplicant *wpa_s)
102 {
103         return NULL;
104 }
105
106 static inline int
107 ieee80211_sta_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
108                             const u8 *ies, size_t ies_len)
109 {
110         return -1;
111 }
112
113 static inline int
114 ieee80211_sta_send_ft_action(struct wpa_supplicant *wpa_s, u8 action,
115                              const u8 *target_ap,
116                              const u8 *ies, size_t ies_len)
117 {
118         return -1;
119 }
120
121 #endif /* CONFIG_CLIENT_MLME */
122
123 #endif /* MLME_H */