blob: de87301560da0ed9e79fec8b7c2c4ac2d0668ea1 [file] [log] [blame]
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001/*
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
Dmitry Shmidt44c95782013-05-17 09:51:35 -070012struct tsf_info {
13 u8 present;
14 u8 tsf_offset[2];
15 u8 beacon_interval[2];
16};
17
18struct condensed_country_string {
19 u8 present;
20 u8 country_string[2];
21};
22
23struct bss_transition_candidate {
24 u8 present;
25 u8 preference;
26};
27
28struct bss_termination_duration {
29 u8 present;
30 u8 duration[12];
31};
32
33struct bearing {
34 u8 present;
35 u8 bearing[8];
36};
37
38struct measurement_pilot {
39 u8 present;
40 u8 measurement_pilot;
41 u8 num_vendor_specific;
42 u8 vendor_specific[255];
43};
44
45struct rrm_enabled_capabilities {
46 u8 present;
47 u8 capabilities[4];
48};
49
50struct multiple_bssid {
51 u8 present;
52 u8 max_bssid_indicator;
53 u8 num_vendor_specific;
54 u8 vendor_specific[255];
55};
56
57struct neighbor_report {
58 u8 bssid[ETH_ALEN];
59 u8 bssid_information[4];
60 u8 regulatory_class;
61 u8 channel_number;
62 u8 phy_type;
63 struct tsf_info *tsf_info;
64 struct condensed_country_string *con_coun_str;
65 struct bss_transition_candidate *bss_tran_can;
66 struct bss_termination_duration *bss_term_dur;
67 struct bearing *bearing;
68 struct measurement_pilot *meas_pilot;
69 struct rrm_enabled_capabilities *rrm_cap;
70 struct multiple_bssid *mul_bssid;
71};
72
73
Dmitry Shmidt61d9df32012-08-29 16:22:06 -070074int ieee802_11_send_wnmsleep_req(struct wpa_supplicant *wpa_s,
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -080075 u8 action, u16 intval, struct wpabuf *tfs_req);
Dmitry Shmidt61d9df32012-08-29 16:22:06 -070076
77void ieee802_11_rx_wnm_action(struct wpa_supplicant *wpa_s,
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -080078 const struct ieee80211_mgmt *mgmt, size_t len);
Dmitry Shmidt61d9df32012-08-29 16:22:06 -070079
Dmitry Shmidt44c95782013-05-17 09:51:35 -070080void wnm_scan_response(struct wpa_supplicant *wpa_s,
81 struct wpa_scan_results *scan_res);
82
83int wnm_send_bss_transition_mgmt_query(struct wpa_supplicant *wpa_s,
84 u8 query_reason);
85void wnm_deallocate_memory(struct wpa_supplicant *wpa_s);
86
Dmitry Shmidt61d9df32012-08-29 16:22:06 -070087#endif /* WNM_STA_H */