blob: 2933926c0908d003d02ac1bb262a7a9460ab6151 [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
12struct rx_action;
13struct wpa_supplicant;
14
Dmitry Shmidt44c95782013-05-17 09:51:35 -070015struct tsf_info {
16 u8 present;
17 u8 tsf_offset[2];
18 u8 beacon_interval[2];
19};
20
21struct condensed_country_string {
22 u8 present;
23 u8 country_string[2];
24};
25
26struct bss_transition_candidate {
27 u8 present;
28 u8 preference;
29};
30
31struct bss_termination_duration {
32 u8 present;
33 u8 duration[12];
34};
35
36struct bearing {
37 u8 present;
38 u8 bearing[8];
39};
40
41struct measurement_pilot {
42 u8 present;
43 u8 measurement_pilot;
44 u8 num_vendor_specific;
45 u8 vendor_specific[255];
46};
47
48struct rrm_enabled_capabilities {
49 u8 present;
50 u8 capabilities[4];
51};
52
53struct multiple_bssid {
54 u8 present;
55 u8 max_bssid_indicator;
56 u8 num_vendor_specific;
57 u8 vendor_specific[255];
58};
59
60struct 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
Dmitry Shmidt61d9df32012-08-29 16:22:06 -070077int ieee802_11_send_wnmsleep_req(struct wpa_supplicant *wpa_s,
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -080078 u8 action, u16 intval, struct wpabuf *tfs_req);
Dmitry Shmidt61d9df32012-08-29 16:22:06 -070079
80void ieee802_11_rx_wnm_action(struct wpa_supplicant *wpa_s,
81 struct rx_action *action);
82
Dmitry Shmidt44c95782013-05-17 09:51:35 -070083void wnm_scan_response(struct wpa_supplicant *wpa_s,
84 struct wpa_scan_results *scan_res);
85
86int wnm_send_bss_transition_mgmt_query(struct wpa_supplicant *wpa_s,
87 u8 query_reason);
88void wnm_deallocate_memory(struct wpa_supplicant *wpa_s);
89
Dmitry Shmidt61d9df32012-08-29 16:22:06 -070090#endif /* WNM_STA_H */