nl80211: Rename is_p2p_interface
[mech_eap.git] / wpa_supplicant / wnm_sta.h
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 rx_action;
13 struct wpa_supplicant;
14
15 struct tsf_info {
16         u8 present;
17         u8 tsf_offset[2];
18         u8 beacon_interval[2];
19 };
20
21 struct condensed_country_string {
22         u8 present;
23         u8 country_string[2];
24 };
25
26 struct bss_transition_candidate {
27         u8 present;
28         u8 preference;
29 };
30
31 struct bss_termination_duration {
32         u8 present;
33         u8 duration[12];
34 };
35
36 struct bearing {
37         u8 present;
38         u8 bearing[8];
39 };
40
41 struct measurement_pilot {
42         u8 present;
43         u8 measurement_pilot;
44         u8 num_vendor_specific;
45         u8 vendor_specific[255];
46 };
47
48 struct rrm_enabled_capabilities {
49         u8 present;
50         u8 capabilities[4];
51 };
52
53 struct multiple_bssid {
54         u8 present;
55         u8 max_bssid_indicator;
56         u8 num_vendor_specific;
57         u8 vendor_specific[255];
58 };
59
60 struct 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
77 int ieee802_11_send_wnmsleep_req(struct wpa_supplicant *wpa_s,
78                                  u8 action, u16 intval, struct wpabuf *tfs_req);
79
80 void ieee802_11_rx_wnm_action(struct wpa_supplicant *wpa_s,
81                               struct rx_action *action);
82
83 void wnm_scan_response(struct wpa_supplicant *wpa_s,
84                        struct wpa_scan_results *scan_res);
85
86 int wnm_send_bss_transition_mgmt_query(struct wpa_supplicant *wpa_s,
87                                        u8 query_reason);
88 void wnm_deallocate_memory(struct wpa_supplicant *wpa_s);
89
90 #endif /* WNM_STA_H */