qca-vendor.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. * Qualcomm Atheros OUI and vendor specific assignments
  3. * Copyright (c) 2014, 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 QCA_VENDOR_H
  9. #define QCA_VENDOR_H
  10. /*
  11. * This file is a registry of identifier assignments from the Qualcomm Atheros
  12. * OUI 00:13:74 for purposes other than MAC address assignment. New identifiers
  13. * can be assigned through normal review process for changes to the upstream
  14. * hostap.git repository.
  15. */
  16. #define OUI_QCA 0x001374
  17. /**
  18. * enum qca_nl80211_vendor_subcmds - QCA nl80211 vendor command identifiers
  19. *
  20. * @QCA_NL80211_VENDOR_SUBCMD_UNSPEC: Reserved value 0
  21. *
  22. * @QCA_NL80211_VENDOR_SUBCMD_TEST: Test command/event
  23. *
  24. * @QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY: Recommendation of frequency
  25. * ranges to avoid to reduce issues due to interference or internal
  26. * co-existence information in the driver. The event data structure is
  27. * defined in struct qca_avoid_freq_list.
  28. *
  29. * @QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY: Command to check driver support
  30. * for DFS offloading.
  31. *
  32. * @QCA_NL80211_VENDOR_SUBCMD_NAN: NAN command/event which is used to pass
  33. * NAN Request/Response and NAN Indication messages. These messages are
  34. * interpreted between the framework and the firmware component.
  35. */
  36. enum qca_nl80211_vendor_subcmds {
  37. QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
  38. QCA_NL80211_VENDOR_SUBCMD_TEST = 1,
  39. /* subcmds 2..9 not yet allocated */
  40. QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY = 10,
  41. QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY = 11,
  42. QCA_NL80211_VENDOR_SUBCMD_NAN = 12,
  43. };
  44. struct qca_avoid_freq_range {
  45. u32 start_freq;
  46. u32 end_freq;
  47. } STRUCT_PACKED;
  48. struct qca_avoid_freq_list {
  49. u32 count;
  50. struct qca_avoid_freq_range range[0];
  51. } STRUCT_PACKED;
  52. enum qca_wlan_vendor_attr {
  53. QCA_WLAN_VENDOR_ATTR_INVALID = 0,
  54. /* used by QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY */
  55. QCA_WLAN_VENDOR_ATTR_DFS = 1,
  56. /* used by QCA_NL80211_VENDOR_SUBCMD_NAN */
  57. QCA_WLAN_VENDOR_ATTR_NAN = 2,
  58. /* keep last */
  59. QCA_WLAN_VENDOR_ATTR_AFTER_LAST,
  60. QCA_WLAN_VENDOR_ATTR_MAX = QCA_WLAN_VENDOR_ATTR_AFTER_LAST - 1,
  61. };
  62. #endif /* QCA_VENDOR_H */