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