xref: /aosp_15_r20/external/wpa_supplicant_8/wpa_supplicant/mesh.h (revision 03f9172ca588f91df233974f4258bab95191f931)
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