Use Android reserved namespace for control interface
[mech_eap.git] / 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 struct ieee80211_rx_status {
23         int freq;
24         int channel;
25         int ssi;
26 };
27
28 #ifdef CONFIG_CLIENT_MLME
29
30 int ieee80211_sta_init(struct wpa_supplicant *wpa_s);
31 void ieee80211_sta_deinit(struct wpa_supplicant *wpa_s);
32 int ieee80211_sta_req_scan(struct wpa_supplicant *wpa_s,
33                            struct wpa_driver_scan_params *params);
34 int ieee80211_sta_deauthenticate(struct wpa_supplicant *wpa_s, u16 reason);
35 int ieee80211_sta_disassociate(struct wpa_supplicant *wpa_s, u16 reason);
36 int ieee80211_sta_associate(struct wpa_supplicant *wpa_s,
37                             struct wpa_driver_associate_params *params);
38 int ieee80211_sta_get_ssid(struct wpa_supplicant *wpa_s, u8 *ssid,
39                            size_t *len);
40 void ieee80211_sta_rx(struct wpa_supplicant *wpa_s, const u8 *buf, size_t len,
41                       struct ieee80211_rx_status *rx_status);
42 struct wpa_scan_results *
43 ieee80211_sta_get_scan_results(struct wpa_supplicant *wpa_s);
44 int ieee80211_sta_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
45                                 const u8 *ies, size_t ies_len);
46 int ieee80211_sta_send_ft_action(struct wpa_supplicant *wpa_s, u8 action,
47                                  const u8 *target_ap,
48                                  const u8 *ies, size_t ies_len);
49
50 #else /* CONFIG_CLIENT_MLME */
51
52 static inline int ieee80211_sta_init(struct wpa_supplicant *wpa_s)
53 {
54         return 0;
55 }
56
57 static inline void ieee80211_sta_deinit(struct wpa_supplicant *wpa_s)
58 {
59 }
60
61 static inline int ieee80211_sta_req_scan(struct wpa_supplicant *wpa_s,
62                                          struct wpa_driver_scan_params *params)
63 {
64         return -1;
65 }
66
67 static inline int ieee80211_sta_deauthenticate(struct wpa_supplicant *wpa_s,
68                                                u16 reason)
69 {
70         return -1;
71 }
72
73 static inline int ieee80211_sta_disassociate(struct wpa_supplicant *wpa_s,
74                                              u16 reason)
75 {
76         return -1;
77 }
78
79 static inline int
80 ieee80211_sta_associate(struct wpa_supplicant *wpa_s,
81                         struct wpa_driver_associate_params *params)
82 {
83         return -1;
84 }
85
86 static inline int ieee80211_sta_get_ssid(struct wpa_supplicant *wpa_s,
87                                          u8 *ssid, size_t *len)
88 {
89         return -1;
90 }
91
92 static inline void
93 ieee80211_sta_rx(struct wpa_supplicant *wpa_s, const u8 *buf, size_t len,
94                  struct ieee80211_rx_status *rx_status)
95 {
96 }
97
98 static inline struct wpa_scan_results *
99 ieee80211_sta_get_scan_results(struct wpa_supplicant *wpa_s)
100 {
101         return NULL;
102 }
103
104 static inline int
105 ieee80211_sta_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
106                             const u8 *ies, size_t ies_len)
107 {
108         return -1;
109 }
110
111 static inline int
112 ieee80211_sta_send_ft_action(struct wpa_supplicant *wpa_s, u8 action,
113                              const u8 *target_ap,
114                              const u8 *ies, size_t ies_len)
115 {
116         return -1;
117 }
118
119 #endif /* CONFIG_CLIENT_MLME */
120
121 #endif /* MLME_H */