mesh_mpm.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * WPA Supplicant - Basic mesh peer management
  3. * Copyright (c) 2013-2014, cozybit, Inc. All rights reserved.
  4. *
  5. * This software may be distributed under the terms of the BSD license.
  6. * See README for more details.
  7. */
  8. #ifndef MESH_MPM_H
  9. #define MESH_MPM_H
  10. /* notify MPM of new mesh peer to be inserted in MPM and driver */
  11. void wpa_mesh_new_mesh_peer(struct wpa_supplicant *wpa_s, const u8 *addr,
  12. struct ieee802_11_elems *elems);
  13. void mesh_mpm_deinit(struct wpa_supplicant *wpa_s, struct hostapd_iface *ifmsh);
  14. void mesh_mpm_auth_peer(struct wpa_supplicant *wpa_s, const u8 *addr);
  15. void mesh_mpm_free_sta(struct hostapd_data *hapd, struct sta_info *sta);
  16. void wpa_mesh_set_plink_state(struct wpa_supplicant *wpa_s,
  17. struct sta_info *sta,
  18. enum mesh_plink_state state);
  19. int mesh_mpm_close_peer(struct wpa_supplicant *wpa_s, const u8 *addr);
  20. int mesh_mpm_connect_peer(struct wpa_supplicant *wpa_s, const u8 *addr,
  21. int duration);
  22. #ifdef CONFIG_MESH
  23. void mesh_mpm_action_rx(struct wpa_supplicant *wpa_s,
  24. const struct ieee80211_mgmt *mgmt, size_t len);
  25. void mesh_mpm_mgmt_rx(struct wpa_supplicant *wpa_s, struct rx_mgmt *rx_mgmt);
  26. #else /* CONFIG_MESH */
  27. static inline void mesh_mpm_action_rx(struct wpa_supplicant *wpa_s,
  28. const struct ieee80211_mgmt *mgmt,
  29. size_t len)
  30. {
  31. }
  32. static inline void mesh_mpm_mgmt_rx(struct wpa_supplicant *wpa_s,
  33. struct rx_mgmt *rx_mgmt)
  34. {
  35. }
  36. #endif /* CONFIG_MESH */
  37. #endif /* MESH_MPM_H */