1 /*
2  * wpa_supplicant - SME
3  * Copyright (c) 2009-2010, Jouni Malinen <j@w1.fi>
4  *
5  * This software may be distributed under the terms of the BSD license.
6  * See README for more details.
7  */
8 
9 #ifndef SME_H
10 #define SME_H
11 
12 #ifdef CONFIG_SME
13 
14 void sme_authenticate(struct wpa_supplicant *wpa_s,
15 		      struct wpa_bss *bss, struct wpa_ssid *ssid);
16 void sme_associate(struct wpa_supplicant *wpa_s, enum wpas_mode mode,
17 		   const u8 *bssid, u16 auth_type);
18 void sme_event_auth(struct wpa_supplicant *wpa_s, union wpa_event_data *data);
19 int sme_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
20 		      const u8 *ies, size_t ies_len);
21 void sme_event_assoc_reject(struct wpa_supplicant *wpa_s,
22 			    union wpa_event_data *data);
23 void sme_event_auth_timed_out(struct wpa_supplicant *wpa_s,
24 			      union wpa_event_data *data);
25 void sme_event_assoc_timed_out(struct wpa_supplicant *wpa_s,
26 			       union wpa_event_data *data);
27 void sme_event_disassoc(struct wpa_supplicant *wpa_s,
28 			struct disassoc_info *info);
29 void sme_event_unprot_disconnect(struct wpa_supplicant *wpa_s, const u8 *sa,
30 				 const u8 *da, u16 reason_code);
31 void sme_event_ch_switch(struct wpa_supplicant *wpa_s);
32 void sme_sa_query_rx(struct wpa_supplicant *wpa_s, const u8 *da, const u8 *sa,
33 		     const u8 *data, size_t len);
34 void sme_state_changed(struct wpa_supplicant *wpa_s);
35 void sme_disassoc_while_authenticating(struct wpa_supplicant *wpa_s,
36 				       const u8 *prev_pending_bssid);
37 void sme_clear_on_disassoc(struct wpa_supplicant *wpa_s);
38 void sme_deinit(struct wpa_supplicant *wpa_s);
39 
40 int sme_proc_obss_scan(struct wpa_supplicant *wpa_s);
41 void sme_sched_obss_scan(struct wpa_supplicant *wpa_s, int enable);
42 void sme_external_auth_trigger(struct wpa_supplicant *wpa_s,
43 			       union wpa_event_data *data);
44 void sme_external_auth_mgmt_rx(struct wpa_supplicant *wpa_s,
45 			       const u8 *auth_frame, size_t len);
46 
47 #else /* CONFIG_SME */
48 
sme_authenticate(struct wpa_supplicant * wpa_s,struct wpa_bss * bss,struct wpa_ssid * ssid)49 static inline void sme_authenticate(struct wpa_supplicant *wpa_s,
50 				    struct wpa_bss *bss,
51 				    struct wpa_ssid *ssid)
52 {
53 }
54 
sme_event_auth(struct wpa_supplicant * wpa_s,union wpa_event_data * data)55 static inline void sme_event_auth(struct wpa_supplicant *wpa_s,
56 				  union wpa_event_data *data)
57 {
58 }
59 
sme_update_ft_ies(struct wpa_supplicant * wpa_s,const u8 * md,const u8 * ies,size_t ies_len)60 static inline int sme_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
61 				    const u8 *ies, size_t ies_len)
62 {
63 	return -1;
64 }
65 
66 
sme_event_assoc_reject(struct wpa_supplicant * wpa_s,union wpa_event_data * data)67 static inline void sme_event_assoc_reject(struct wpa_supplicant *wpa_s,
68 					  union wpa_event_data *data)
69 {
70 }
71 
sme_event_auth_timed_out(struct wpa_supplicant * wpa_s,union wpa_event_data * data)72 static inline void sme_event_auth_timed_out(struct wpa_supplicant *wpa_s,
73 					    union wpa_event_data *data)
74 {
75 }
76 
sme_event_assoc_timed_out(struct wpa_supplicant * wpa_s,union wpa_event_data * data)77 static inline void sme_event_assoc_timed_out(struct wpa_supplicant *wpa_s,
78 					     union wpa_event_data *data)
79 {
80 }
81 
sme_event_disassoc(struct wpa_supplicant * wpa_s,struct disassoc_info * info)82 static inline void sme_event_disassoc(struct wpa_supplicant *wpa_s,
83 				      struct disassoc_info *info)
84 {
85 }
86 
sme_event_unprot_disconnect(struct wpa_supplicant * wpa_s,const u8 * sa,const u8 * da,u16 reason_code)87 static inline void sme_event_unprot_disconnect(struct wpa_supplicant *wpa_s,
88 					       const u8 *sa, const u8 *da,
89 					       u16 reason_code)
90 {
91 }
92 
sme_event_ch_switch(struct wpa_supplicant * wpa_s)93 static inline void sme_event_ch_switch(struct wpa_supplicant *wpa_s)
94 {
95 }
96 
sme_state_changed(struct wpa_supplicant * wpa_s)97 static inline void sme_state_changed(struct wpa_supplicant *wpa_s)
98 {
99 }
100 
101 static inline void
sme_disassoc_while_authenticating(struct wpa_supplicant * wpa_s,const u8 * prev_pending_bssid)102 sme_disassoc_while_authenticating(struct wpa_supplicant *wpa_s,
103 				  const u8 *prev_pending_bssid)
104 {
105 }
106 
sme_clear_on_disassoc(struct wpa_supplicant * wpa_s)107 static inline void sme_clear_on_disassoc(struct wpa_supplicant *wpa_s)
108 {
109 }
110 
sme_deinit(struct wpa_supplicant * wpa_s)111 static inline void sme_deinit(struct wpa_supplicant *wpa_s)
112 {
113 }
114 
sme_proc_obss_scan(struct wpa_supplicant * wpa_s)115 static inline int sme_proc_obss_scan(struct wpa_supplicant *wpa_s)
116 {
117 	return 0;
118 }
119 
sme_sched_obss_scan(struct wpa_supplicant * wpa_s,int enable)120 static inline void sme_sched_obss_scan(struct wpa_supplicant *wpa_s,
121 				       int enable)
122 {
123 }
124 
sme_external_auth_trigger(struct wpa_supplicant * wpa_s,union wpa_event_data * data)125 static inline void sme_external_auth_trigger(struct wpa_supplicant *wpa_s,
126 					     union wpa_event_data *data)
127 {
128 }
129 
sme_external_auth_mgmt_rx(struct wpa_supplicant * wpa_s,const u8 * auth_frame,size_t len)130 static inline void sme_external_auth_mgmt_rx(struct wpa_supplicant *wpa_s,
131 					     const u8 *auth_frame, size_t len)
132 {
133 }
134 
135 #endif /* CONFIG_SME */
136 
137 #endif /* SME_H */
138