sbin/newfs_msdos: Bring in FreeBSD/Git 902f77041b477be4d9d99608b463be01ac7611ea
[dragonfly.git] / contrib / wpa_supplicant / 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 tsf_info {
13         u8 present;
14         u8 tsf_offset[2];
15         u8 beacon_interval[2];
16 };
17
18 struct condensed_country_string {
19         u8 present;
20         u8 country_string[2];
21 };
22
23 struct bss_transition_candidate {
24         u8 present;
25         u8 preference;
26 };
27
28 struct bss_termination_duration {
29         u8 present;
30         u8 duration[12];
31 };
32
33 struct bearing {
34         u8 present;
35         u8 bearing[8];
36 };
37
38 struct measurement_pilot {
39         u8 present;
40         u8 measurement_pilot;
41         u8 num_vendor_specific;
42         u8 vendor_specific[255];
43 };
44
45 struct rrm_enabled_capabilities {
46         u8 present;
47         u8 capabilities[4];
48 };
49
50 struct multiple_bssid {
51         u8 present;
52         u8 max_bssid_indicator;
53         u8 num_vendor_specific;
54         u8 vendor_specific[255];
55 };
56
57 struct 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
74 int ieee802_11_send_wnmsleep_req(struct wpa_supplicant *wpa_s,
75                                  u8 action, u16 intval, struct wpabuf *tfs_req);
76
77 void ieee802_11_rx_wnm_action(struct wpa_supplicant *wpa_s,
78                               const struct ieee80211_mgmt *mgmt, size_t len);
79
80 void wnm_scan_response(struct wpa_supplicant *wpa_s,
81                        struct wpa_scan_results *scan_res);
82
83 int wnm_send_bss_transition_mgmt_query(struct wpa_supplicant *wpa_s,
84                                        u8 query_reason);
85 void wnm_deallocate_memory(struct wpa_supplicant *wpa_s);
86
87 #endif /* WNM_STA_H */