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