]>
Commit | Line | Data |
---|---|---|
75cad1a0 XC |
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 | ||
e27d20bb | 12 | struct measurement_pilot { |
e27d20bb | 13 | u8 measurement_pilot; |
f6ce70dc JM |
14 | u8 subelem_len; |
15 | u8 subelems[255]; | |
e27d20bb VK |
16 | }; |
17 | ||
e27d20bb | 18 | struct multiple_bssid { |
e27d20bb | 19 | u8 max_bssid_indicator; |
f6ce70dc JM |
20 | u8 subelem_len; |
21 | u8 subelems[255]; | |
e27d20bb VK |
22 | }; |
23 | ||
24 | struct neighbor_report { | |
25 | u8 bssid[ETH_ALEN]; | |
4c381f0d | 26 | u32 bssid_info; |
e27d20bb VK |
27 | u8 regulatory_class; |
28 | u8 channel_number; | |
29 | u8 phy_type; | |
09322678 JM |
30 | u8 preference; /* valid if preference_present=1 */ |
31 | u16 tsf_offset; /* valid if tsf_present=1 */ | |
32 | u16 beacon_int; /* valid if tsf_present=1 */ | |
33 | char country[2]; /* valid if country_present=1 */ | |
34 | u8 rm_capab[5]; /* valid if rm_capab_present=1 */ | |
35 | u16 bearing; /* valid if bearing_present=1 */ | |
36 | u16 rel_height; /* valid if bearing_present=1 */ | |
37 | u32 distance; /* valid if bearing_present=1 */ | |
38 | u64 bss_term_tsf; /* valid if bss_term_present=1 */ | |
39 | u16 bss_term_dur; /* valid if bss_term_present=1 */ | |
40 | unsigned int preference_present:1; | |
41 | unsigned int tsf_present:1; | |
42 | unsigned int country_present:1; | |
43 | unsigned int rm_capab_present:1; | |
44 | unsigned int bearing_present:1; | |
45 | unsigned int bss_term_present:1; | |
e27d20bb | 46 | struct measurement_pilot *meas_pilot; |
e27d20bb | 47 | struct multiple_bssid *mul_bssid; |
e1117c1c | 48 | int freq; |
e27d20bb VK |
49 | }; |
50 | ||
51 | ||
75cad1a0 | 52 | int ieee802_11_send_wnmsleep_req(struct wpa_supplicant *wpa_s, |
cd0ef657 | 53 | u8 action, u16 intval, struct wpabuf *tfs_req); |
75cad1a0 XC |
54 | |
55 | void ieee802_11_rx_wnm_action(struct wpa_supplicant *wpa_s, | |
dbfb8e82 | 56 | const struct ieee80211_mgmt *mgmt, size_t len); |
75cad1a0 | 57 | |
65bcd0a9 VK |
58 | int wnm_send_bss_transition_mgmt_query(struct wpa_supplicant *wpa_s, |
59 | u8 query_reason); | |
e27d20bb VK |
60 | void wnm_deallocate_memory(struct wpa_supplicant *wpa_s); |
61 | ||
d0b9ab69 JM |
62 | |
63 | #ifdef CONFIG_WNM | |
64 | ||
75d65857 | 65 | int wnm_scan_process(struct wpa_supplicant *wpa_s, int reply_on_fail); |
d0b9ab69 JM |
66 | |
67 | #else /* CONFIG_WNM */ | |
68 | ||
75d65857 JM |
69 | static inline int wnm_scan_process(struct wpa_supplicant *wpa_s, |
70 | int reply_on_fail) | |
d0b9ab69 JM |
71 | { |
72 | return 0; | |
73 | } | |
74 | ||
75 | #endif /* CONFIG_WNM */ | |
76 | ||
75cad1a0 | 77 | #endif /* WNM_STA_H */ |