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