1fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt/*
2fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt * WPA Supplicant - Basic mesh mode routines
3fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt * Copyright (c) 2013-2014, cozybit, Inc.  All rights reserved.
4fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt *
5fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt * This software may be distributed under the terms of the BSD license.
6fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt * See README for more details.
7fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt */
8fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt
9fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt#ifndef MESH_H
10fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt#define MESH_H
11fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt
12fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtint wpa_supplicant_join_mesh(struct wpa_supplicant *wpa_s,
13fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt			     struct wpa_ssid *ssid);
14fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtint wpa_supplicant_leave_mesh(struct wpa_supplicant *wpa_s);
15fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtvoid wpa_supplicant_mesh_iface_deinit(struct wpa_supplicant *wpa_s,
16fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt				      struct hostapd_iface *ifmsh);
17fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtint wpas_mesh_scan_result_text(const u8 *ies, size_t ies_len, char *buf,
18fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt			       char *end);
19fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtint wpas_mesh_add_interface(struct wpa_supplicant *wpa_s, char *ifname,
20fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt			    size_t len);
21fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt
22fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt#ifdef CONFIG_MESH
23fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt
24fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtvoid wpa_mesh_notify_peer(struct wpa_supplicant *wpa_s, const u8 *addr,
25fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt			  const u8 *ies, size_t ie_len);
26fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtvoid wpa_supplicant_mesh_add_scan_ie(struct wpa_supplicant *wpa_s,
27fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt				     struct wpabuf **extra_ie);
28fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt
29fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt#else /* CONFIG_MESH */
30fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt
31fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtstatic inline void wpa_mesh_notify_peer(struct wpa_supplicant *wpa_s,
32fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt					const u8 *addr,
33fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt					const u8 *ies, size_t ie_len)
34fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt{
35fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt}
36fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt
37fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidtstatic inline void wpa_supplicant_mesh_add_scan_ie(struct wpa_supplicant *wpa_s,
38fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt						   struct wpabuf **extra_ie)
39fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt{
40fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt}
41fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt
42fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt#endif /* CONFIG_MESH */
43fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt
44fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry Shmidt#endif /* MESH_H */
45