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