• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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