qal_bridge.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /*
  2. * Copyright (c) 2021 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: qal_bridge
  20. * QCA driver framework for bridge related APIs prototype
  21. */
  22. #ifndef __QAL_BRIDGE_H
  23. #define __QAL_BRIDGE_H
  24. /* Include Files */
  25. #include "qdf_types.h"
  26. #include "i_qal_bridge.h"
  27. typedef __qal_notify_blk_t qal_notify_blk_t;
  28. typedef __qal_netdev_t qal_netdev_t;
  29. typedef __qal_br_fdb_entry_t qal_br_fdb_entry_t;
  30. #ifdef ENHANCED_OS_ABSTRACTION
  31. QDF_STATUS
  32. qal_bridge_fdb_register_notify(qal_notify_blk_t nb);
  33. QDF_STATUS
  34. qal_bridge_fdb_unregister_notify(qal_notify_blk_t nb);
  35. qal_br_fdb_entry_t
  36. qal_bridge_fdb_has_entry(qal_netdev_t dev, const char *addr, uint16_t vid);
  37. QDF_STATUS
  38. qal_bridge_fdb_delete_by_netdev(qal_netdev_t dev,
  39. const unsigned char *addr, uint16_t vid);
  40. QDF_STATUS
  41. qal_bridge_fdb_update_register_notify(qal_notify_blk_t nb);
  42. QDF_STATUS
  43. qal_bridge_fdb_update_unregister_notify(qal_notify_blk_t nb);
  44. #else
  45. static inline QDF_STATUS
  46. qal_bridge_fdb_register_notify(qal_notify_blk_t nb)
  47. {
  48. return __qal_bridge_fdb_register_notify(nb);
  49. }
  50. static inline QDF_STATUS
  51. qal_bridge_fdb_unregister_notify(qal_notify_blk_t nb)
  52. {
  53. return __qal_bridge_fdb_unregister_notify(nb);
  54. }
  55. static inline qal_br_fdb_entry_t
  56. qal_bridge_fdb_has_entry(qal_netdev_t dev, const char *addr, uint16_t vid)
  57. {
  58. return __qal_bridge_fdb_has_entry(dev, addr, vid);
  59. }
  60. static inline QDF_STATUS
  61. qal_bridge_fdb_delete_by_netdev(qal_netdev_t dev,
  62. const unsigned char *addr, uint16_t vid)
  63. {
  64. return __qal_bridge_fdb_delete_by_netdev(dev, addr, vid);
  65. }
  66. static inline QDF_STATUS
  67. qal_bridge_fdb_update_register_notify(qal_notify_blk_t nb)
  68. {
  69. return __qal_bridge_fdb_update_register_notify(nb);
  70. }
  71. static inline QDF_STATUS
  72. qal_bridge_fdb_update_unregister_notify(qal_notify_blk_t nb)
  73. {
  74. return __qal_bridge_fdb_update_unregister_notify(nb);
  75. }
  76. #endif
  77. #endif /* __QAL_BRIDGE_H */