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 rx_action; 13 struct wpa_supplicant; 14 15 struct tsf_info { 16 u8 present; 17 u8 tsf_offset[2]; 18 u8 beacon_interval[2]; 19 }; 20 21 struct condensed_country_string { 22 u8 present; 23 u8 country_string[2]; 24 }; 25 26 struct bss_transition_candidate { 27 u8 present; 28 u8 preference; 29 }; 30 31 struct bss_termination_duration { 32 u8 present; 33 u8 duration[12]; 34 }; 35 36 struct bearing { 37 u8 present; 38 u8 bearing[8]; 39 }; 40 41 struct measurement_pilot { 42 u8 present; 43 u8 measurement_pilot; 44 u8 num_vendor_specific; 45 u8 vendor_specific[255]; 46 }; 47 48 struct rrm_enabled_capabilities { 49 u8 present; 50 u8 capabilities[4]; 51 }; 52 53 struct multiple_bssid { 54 u8 present; 55 u8 max_bssid_indicator; 56 u8 num_vendor_specific; 57 u8 vendor_specific[255]; 58 }; 59 60 struct neighbor_report { 61 u8 bssid[ETH_ALEN]; 62 u8 bssid_information[4]; 63 u8 regulatory_class; 64 u8 channel_number; 65 u8 phy_type; 66 struct tsf_info *tsf_info; 67 struct condensed_country_string *con_coun_str; 68 struct bss_transition_candidate *bss_tran_can; 69 struct bss_termination_duration *bss_term_dur; 70 struct bearing *bearing; 71 struct measurement_pilot *meas_pilot; 72 struct rrm_enabled_capabilities *rrm_cap; 73 struct multiple_bssid *mul_bssid; 74 }; 75 76 77 int ieee802_11_send_wnmsleep_req(struct wpa_supplicant *wpa_s, 78 u8 action, u16 intval, struct wpabuf *tfs_req); 79 80 void ieee802_11_rx_wnm_action(struct wpa_supplicant *wpa_s, 81 struct rx_action *action); 82 83 void wnm_scan_response(struct wpa_supplicant *wpa_s, 84 struct wpa_scan_results *scan_res); 85 86 int wnm_send_bss_transition_mgmt_query(struct wpa_supplicant *wpa_s, 87 u8 query_reason); 88 void wnm_deallocate_memory(struct wpa_supplicant *wpa_s); 89 90 #endif /* WNM_STA_H */ 91