1 /* 2 * IEEE 802.11v WNM related functions and structures 3 * Copyright (c) 2011-2012, Qualcomm Atheros, Inc. 4 * 5 * This software may be distributed under the terms of the BSD license. 6 * See README for more details. 7 */ 8 9 #ifndef WNM_STA_H 10 #define WNM_STA_H 11 12 struct tsf_info { 13 u8 tsf_offset[2]; 14 u8 beacon_interval[2]; 15 }; 16 17 struct condensed_country_string { 18 u8 country_string[2]; 19 }; 20 21 struct bss_transition_candidate { 22 u8 preference; 23 }; 24 25 struct bss_termination_duration { 26 u8 duration[10]; 27 }; 28 29 struct bearing { 30 u8 bearing[8]; 31 }; 32 33 struct measurement_pilot { 34 u8 measurement_pilot; 35 u8 subelem_len; 36 u8 subelems[255]; 37 }; 38 39 struct rrm_enabled_capabilities { 40 u8 capabilities[5]; 41 }; 42 43 struct multiple_bssid { 44 u8 max_bssid_indicator; 45 u8 subelem_len; 46 u8 subelems[255]; 47 }; 48 49 struct neighbor_report { 50 u8 bssid[ETH_ALEN]; 51 u8 bssid_information[4]; 52 u8 regulatory_class; 53 u8 channel_number; 54 u8 phy_type; 55 struct tsf_info *tsf_info; 56 struct condensed_country_string *con_coun_str; 57 struct bss_transition_candidate *bss_tran_can; 58 struct bss_termination_duration *bss_term_dur; 59 struct bearing *bearing; 60 struct measurement_pilot *meas_pilot; 61 struct rrm_enabled_capabilities *rrm_cap; 62 struct multiple_bssid *mul_bssid; 63 }; 64 65 66 int ieee802_11_send_wnmsleep_req(struct wpa_supplicant *wpa_s, 67 u8 action, u16 intval, struct wpabuf *tfs_req); 68 69 void ieee802_11_rx_wnm_action(struct wpa_supplicant *wpa_s, 70 const struct ieee80211_mgmt *mgmt, size_t len); 71 72 void wnm_scan_response(struct wpa_supplicant *wpa_s, 73 struct wpa_scan_results *scan_res); 74 75 int wnm_send_bss_transition_mgmt_query(struct wpa_supplicant *wpa_s, 76 u8 query_reason); 77 void wnm_deallocate_memory(struct wpa_supplicant *wpa_s); 78 79 #endif /* WNM_STA_H */ 80