wnm_sta.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. #ifndef WNM_STA_H
  9. #define WNM_STA_H
  10. struct tsf_info {
  11. u8 tsf_offset[2];
  12. u8 beacon_interval[2];
  13. };
  14. struct condensed_country_string {
  15. u8 country_string[2];
  16. };
  17. struct bss_transition_candidate {
  18. u8 preference;
  19. };
  20. struct bss_termination_duration {
  21. u8 duration[10];
  22. };
  23. struct bearing {
  24. u8 bearing[8];
  25. };
  26. struct measurement_pilot {
  27. u8 measurement_pilot;
  28. u8 subelem_len;
  29. u8 subelems[255];
  30. };
  31. struct rrm_enabled_capabilities {
  32. u8 capabilities[5];
  33. };
  34. struct multiple_bssid {
  35. u8 max_bssid_indicator;
  36. u8 subelem_len;
  37. u8 subelems[255];
  38. };
  39. struct neighbor_report {
  40. u8 bssid[ETH_ALEN];
  41. u8 bssid_information[4];
  42. u8 regulatory_class;
  43. u8 channel_number;
  44. u8 phy_type;
  45. struct tsf_info *tsf_info;
  46. struct condensed_country_string *con_coun_str;
  47. struct bss_transition_candidate *bss_tran_can;
  48. struct bss_termination_duration *bss_term_dur;
  49. struct bearing *bearing;
  50. struct measurement_pilot *meas_pilot;
  51. struct rrm_enabled_capabilities *rrm_cap;
  52. struct multiple_bssid *mul_bssid;
  53. };
  54. int ieee802_11_send_wnmsleep_req(struct wpa_supplicant *wpa_s,
  55. u8 action, u16 intval, struct wpabuf *tfs_req);
  56. void ieee802_11_rx_wnm_action(struct wpa_supplicant *wpa_s,
  57. const struct ieee80211_mgmt *mgmt, size_t len);
  58. void wnm_scan_response(struct wpa_supplicant *wpa_s,
  59. struct wpa_scan_results *scan_res);
  60. int wnm_send_bss_transition_mgmt_query(struct wpa_supplicant *wpa_s,
  61. u8 query_reason);
  62. void wnm_deallocate_memory(struct wpa_supplicant *wpa_s);
  63. #endif /* WNM_STA_H */