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);
15void wpa_supplicant_mesh_iface_deinit(struct wpa_supplicant *wpa_s,
16				      struct hostapd_iface *ifmsh);
17int wpas_mesh_scan_result_text(const u8 *ies, size_t ies_len, char *buf,
18			       char *end);
19int wpas_mesh_add_interface(struct wpa_supplicant *wpa_s, char *ifname,
20			    size_t len);
21int wpas_mesh_peer_remove(struct wpa_supplicant *wpa_s, const u8 *addr);
22int wpas_mesh_peer_add(struct wpa_supplicant *wpa_s, const u8 *addr,
23		       int duration);
24
25#ifdef CONFIG_MESH
26
27void wpa_mesh_notify_peer(struct wpa_supplicant *wpa_s, const u8 *addr,
28			  const u8 *ies, size_t ie_len);
29void wpa_supplicant_mesh_add_scan_ie(struct wpa_supplicant *wpa_s,
30				     struct wpabuf **extra_ie);
31
32#else /* CONFIG_MESH */
33
34static inline void wpa_mesh_notify_peer(struct wpa_supplicant *wpa_s,
35					const u8 *addr,
36					const u8 *ies, size_t ie_len)
37{
38}
39
40static inline void wpa_supplicant_mesh_add_scan_ie(struct wpa_supplicant *wpa_s,
41						   struct wpabuf **extra_ie)
42{
43}
44
45#endif /* CONFIG_MESH */
46
47#endif /* MESH_H */
48