1/*
2 * WPA Supplicant - Basic mesh mode routines
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
9#ifndef MESH_H
10#define MESH_H
11
12int wpa_supplicant_join_mesh(struct wpa_supplicant *wpa_s,
13			     struct wpa_ssid *ssid);
14int wpa_supplicant_leave_mesh(struct wpa_supplicant *wpa_s,
15			      bool need_deinit);
16void wpa_supplicant_mesh_iface_deinit(struct wpa_supplicant *wpa_s,
17				      struct hostapd_iface *ifmsh,
18				      bool also_clear_hostapd);
19int wpas_mesh_scan_result_text(const u8 *ies, size_t ies_len, char *buf,
20			       char *end);
21int wpas_mesh_add_interface(struct wpa_supplicant *wpa_s, char *ifname,
22			    size_t len);
23int wpas_mesh_peer_remove(struct wpa_supplicant *wpa_s, const u8 *addr);
24int wpas_mesh_peer_add(struct wpa_supplicant *wpa_s, const u8 *addr,
25		       int duration);
26
27#ifdef CONFIG_MESH
28
29void wpa_mesh_notify_peer(struct wpa_supplicant *wpa_s, const u8 *addr,
30			  const u8 *ies, size_t ie_len);
31void wpa_supplicant_mesh_add_scan_ie(struct wpa_supplicant *wpa_s,
32				     struct wpabuf **extra_ie);
33
34#else /* CONFIG_MESH */
35
36static inline void wpa_mesh_notify_peer(struct wpa_supplicant *wpa_s,
37					const u8 *addr,
38					const u8 *ies, size_t ie_len)
39{
40}
41
42static inline void wpa_supplicant_mesh_add_scan_ie(struct wpa_supplicant *wpa_s,
43						   struct wpabuf **extra_ie)
44{
45}
46
47#endif /* CONFIG_MESH */
48
49#endif /* MESH_H */
50