wnm_sta.h 1.8 KB

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