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_sa_query_rx(struct wpa_supplicant *wpa_s, const u8 *sa, 32 const u8 *data, size_t len); 33 void sme_state_changed(struct wpa_supplicant *wpa_s); 34 void sme_disassoc_while_authenticating(struct wpa_supplicant *wpa_s, 35 const u8 *prev_pending_bssid); 36 void sme_clear_on_disassoc(struct wpa_supplicant *wpa_s); 37 void sme_deinit(struct wpa_supplicant *wpa_s); 38 39 int sme_proc_obss_scan(struct wpa_supplicant *wpa_s); 40 void sme_sched_obss_scan(struct wpa_supplicant *wpa_s, int enable); 41 void sme_external_auth_trigger(struct wpa_supplicant *wpa_s, 42 union wpa_event_data *data); 43 void sme_external_auth_mgmt_rx(struct wpa_supplicant *wpa_s, 44 const u8 *auth_frame, size_t len); 45 46 #else /* CONFIG_SME */ 47 48 static inline void sme_authenticate(struct wpa_supplicant *wpa_s, 49 struct wpa_bss *bss, 50 struct wpa_ssid *ssid) 51 { 52 } 53 54 static inline void sme_event_auth(struct wpa_supplicant *wpa_s, 55 union wpa_event_data *data) 56 { 57 } 58 59 static inline int sme_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md, 60 const u8 *ies, size_t ies_len) 61 { 62 return -1; 63 } 64 65 66 static inline void sme_event_assoc_reject(struct wpa_supplicant *wpa_s, 67 union wpa_event_data *data) 68 { 69 } 70 71 static inline void sme_event_auth_timed_out(struct wpa_supplicant *wpa_s, 72 union wpa_event_data *data) 73 { 74 } 75 76 static inline void sme_event_assoc_timed_out(struct wpa_supplicant *wpa_s, 77 union wpa_event_data *data) 78 { 79 } 80 81 static inline void sme_event_disassoc(struct wpa_supplicant *wpa_s, 82 struct disassoc_info *info) 83 { 84 } 85 86 static inline void sme_event_unprot_disconnect(struct wpa_supplicant *wpa_s, 87 const u8 *sa, const u8 *da, 88 u16 reason_code) 89 { 90 } 91 92 static inline void sme_state_changed(struct wpa_supplicant *wpa_s) 93 { 94 } 95 96 static inline void 97 sme_disassoc_while_authenticating(struct wpa_supplicant *wpa_s, 98 const u8 *prev_pending_bssid) 99 { 100 } 101 102 static inline void sme_clear_on_disassoc(struct wpa_supplicant *wpa_s) 103 { 104 } 105 106 static inline void sme_deinit(struct wpa_supplicant *wpa_s) 107 { 108 } 109 110 static inline int sme_proc_obss_scan(struct wpa_supplicant *wpa_s) 111 { 112 return 0; 113 } 114 115 static inline void sme_sched_obss_scan(struct wpa_supplicant *wpa_s, 116 int enable) 117 { 118 } 119 120 static inline void sme_external_auth_trigger(struct wpa_supplicant *wpa_s, 121 union wpa_event_data *data) 122 { 123 } 124 125 static inline void sme_external_auth_mgmt_rx(struct wpa_supplicant *wpa_s, 126 const u8 *auth_frame, size_t len) 127 { 128 } 129 130 #endif /* CONFIG_SME */ 131 132 #endif /* SME_H */ 133