wnm_sta.h 1.8 KB

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