wmm_ac.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * Wi-Fi Multimedia Admission Control (WMM-AC)
  3. * Copyright(c) 2014, Intel Mobile Communication GmbH.
  4. * Copyright(c) 2014, Intel Corporation. All rights reserved.
  5. *
  6. * This software may be distributed under the terms of the BSD license.
  7. * See README for more details.
  8. */
  9. #ifndef WMM_AC_H
  10. #define WMM_AC_H
  11. #include "common/ieee802_11_defs.h"
  12. #include "drivers/driver.h"
  13. struct wpa_supplicant;
  14. /**
  15. * struct wmm_ac_assoc_data - WMM Admission Control Association Data
  16. *
  17. * This struct will store any relevant WMM association data needed by WMM AC.
  18. * In case there is a valid WMM association, an instance of this struct will be
  19. * created. In case there is no instance of this struct, the station is not
  20. * associated to a valid WMM BSS and hence, WMM AC will not be used.
  21. */
  22. struct wmm_ac_assoc_data {
  23. struct {
  24. /*
  25. * acm - Admission Control Mandatory
  26. * In case an access category is ACM, the traffic will have
  27. * to be admitted by WMM-AC's admission mechanism before use.
  28. */
  29. unsigned int acm:1;
  30. /*
  31. * uapsd_queues - Unscheduled Automatic Power Save Delivery
  32. * queues.
  33. * Indicates whether ACs are configured for U-APSD (or legacy
  34. * PS). Storing this value is necessary in order to set the
  35. * Power Save Bit (PSB) in ADDTS request Action frames (if not
  36. * given).
  37. */
  38. unsigned int uapsd:1;
  39. } ac_params[WMM_AC_NUM];
  40. };
  41. void wmm_ac_notify_assoc(struct wpa_supplicant *wpa_s, const u8 *ies,
  42. size_t ies_len, const struct wmm_params *wmm_params);
  43. void wmm_ac_notify_disassoc(struct wpa_supplicant *wpa_s);
  44. #endif /* WMM_AC_H */