target_if_nan.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /*
  2. * Copyright (c) 2017 The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for
  5. * any purpose with or without fee is hereby granted, provided that the
  6. * above copyright notice and this permission notice appear in all
  7. * copies.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  10. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  11. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  12. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  13. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  14. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  15. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  16. * PERFORMANCE OF THIS SOFTWARE.
  17. */
  18. /**
  19. * DOC: contains nan target if declarations
  20. */
  21. #ifndef _WLAN_NAN_TGT_IF_H_
  22. #define _WLAN_NAN_TGT_IF_H_
  23. #include "qdf_types.h"
  24. #include <qdf_mem.h>
  25. #include <qdf_status.h>
  26. #include <wmi_unified_api.h>
  27. #include <wmi_unified_priv.h>
  28. #include <wmi_unified_param.h>
  29. #include <wlan_objmgr_psoc_obj.h>
  30. #include <wlan_scan_tgt_api.h>
  31. #include <target_if.h>
  32. #include <target_if_scan.h>
  33. struct wlan_objmgr_psoc;
  34. struct wlan_lmac_if_rx_ops;
  35. struct wlan_lmac_if_tx_ops;
  36. struct wlan_lmac_if_nan_rx_ops;
  37. /**
  38. * target_if_nan_get_tx_ops() - retrieve the nan tx_ops
  39. * @psoc: psoc context
  40. *
  41. * API to retrieve the nan tx_ops from the psoc context
  42. *
  43. * Return: nan tx_ops pointer
  44. */
  45. struct wlan_lmac_if_nan_tx_ops *target_if_nan_get_tx_ops(
  46. struct wlan_objmgr_psoc *psoc);
  47. /**
  48. * target_if_nan_get_rx_ops() - retrieve the nan rx_ops
  49. * @psoc: psoc context
  50. *
  51. * API to retrieve the nan rx_ops from the psoc context
  52. *
  53. * Return: nan rx_ops pointer
  54. */
  55. struct wlan_lmac_if_nan_rx_ops *target_if_nan_get_rx_ops(
  56. struct wlan_objmgr_psoc *psoc);
  57. /**
  58. * target_if_nan_register_tx_ops() - registers nan tx ops
  59. * @tx_ops: tx ops
  60. *
  61. * Return: none
  62. */
  63. void target_if_nan_register_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops);
  64. /**
  65. * target_if_nan_register_rx_ops() - registers nan rx ops
  66. * @tx_ops: rx ops
  67. *
  68. * Return: none
  69. */
  70. void target_if_nan_register_rx_ops(struct wlan_lmac_if_rx_ops *rx_ops);
  71. /**
  72. * target_if_nan_register_events() - registers with NDP events
  73. * @psoc: pointer to psoc object
  74. *
  75. * Return: status of operation
  76. */
  77. QDF_STATUS target_if_nan_register_events(struct wlan_objmgr_psoc *psoc);
  78. /**
  79. * target_if_nan_deregister_events() - registers nan rx ops
  80. * @psoc: pointer to psoc object
  81. *
  82. * Return: status of operation
  83. */
  84. QDF_STATUS target_if_nan_deregister_events(struct wlan_objmgr_psoc *psoc);
  85. #endif /* _WIFI_POS_TGT_IF_H_ */