1/*
2 * WPA Supplicant / dbus-based control interface
3 * Copyright (c) 2006, Dan Williams <dcbw@redhat.com> and Red Hat, Inc.
4 * Copyright (c) 2009-2010, Witold Sowa <witold.sowa@gmail.com>
5 *
6 * This software may be distributed under the terms of the BSD license.
7 * See README for more details.
8 */
9
10#ifndef CTRL_IFACE_DBUS_NEW_H
11#define CTRL_IFACE_DBUS_NEW_H
12
13#include "common/defs.h"
14#include "p2p/p2p.h"
15
16struct wpa_global;
17struct wpa_supplicant;
18struct wpa_ssid;
19struct wps_event_m2d;
20struct wps_event_fail;
21struct wps_credential;
22
23enum wpas_dbus_prop {
24	WPAS_DBUS_PROP_AP_SCAN,
25	WPAS_DBUS_PROP_PMF,
26	WPAS_DBUS_PROP_SCANNING,
27	WPAS_DBUS_PROP_STATE,
28	WPAS_DBUS_PROP_CURRENT_BSS,
29	WPAS_DBUS_PROP_CURRENT_NETWORK,
30	WPAS_DBUS_PROP_CURRENT_AUTH_MODE,
31	WPAS_DBUS_PROP_BSSS,
32	WPAS_DBUS_PROP_DISCONNECT_REASON,
33	WPAS_DBUS_PROP_ASSOC_STATUS_CODE,
34};
35
36enum wpas_dbus_bss_prop {
37	WPAS_DBUS_BSS_PROP_SIGNAL,
38	WPAS_DBUS_BSS_PROP_FREQ,
39	WPAS_DBUS_BSS_PROP_MODE,
40	WPAS_DBUS_BSS_PROP_PRIVACY,
41	WPAS_DBUS_BSS_PROP_RATES,
42	WPAS_DBUS_BSS_PROP_WPA,
43	WPAS_DBUS_BSS_PROP_RSN,
44	WPAS_DBUS_BSS_PROP_WPS,
45	WPAS_DBUS_BSS_PROP_IES,
46	WPAS_DBUS_BSS_PROP_AGE,
47};
48
49#define WPAS_DBUS_OBJECT_PATH_MAX 150
50
51#define WPAS_DBUS_NEW_SERVICE		"fi.w1.wpa_supplicant1"
52#define WPAS_DBUS_NEW_PATH		"/fi/w1/wpa_supplicant1"
53#define WPAS_DBUS_NEW_INTERFACE		"fi.w1.wpa_supplicant1"
54
55#define WPAS_DBUS_NEW_PATH_INTERFACES	WPAS_DBUS_NEW_PATH "/Interfaces"
56#define WPAS_DBUS_NEW_IFACE_INTERFACE	WPAS_DBUS_NEW_INTERFACE ".Interface"
57#define WPAS_DBUS_NEW_IFACE_WPS WPAS_DBUS_NEW_IFACE_INTERFACE ".WPS"
58
59#define WPAS_DBUS_NEW_NETWORKS_PART "Networks"
60#define WPAS_DBUS_NEW_IFACE_NETWORK WPAS_DBUS_NEW_INTERFACE ".Network"
61
62#define WPAS_DBUS_NEW_BSSIDS_PART "BSSs"
63#define WPAS_DBUS_NEW_IFACE_BSS	WPAS_DBUS_NEW_INTERFACE ".BSS"
64
65#define WPAS_DBUS_NEW_IFACE_P2PDEVICE	\
66		WPAS_DBUS_NEW_IFACE_INTERFACE ".P2PDevice"
67
68#define WPAS_DBUS_NEW_IFACE_MESH WPAS_DBUS_NEW_IFACE_INTERFACE ".Mesh"
69
70/*
71 * Groups correspond to P2P groups where this device is a GO (owner)
72 */
73#define WPAS_DBUS_NEW_P2P_GROUPS_PART	"Groups"
74#define	WPAS_DBUS_NEW_IFACE_P2P_GROUP WPAS_DBUS_NEW_INTERFACE ".Group"
75
76/*
77 * Different dbus object for persistent groups so they do not get confused
78 * with regular (configured) network objects.
79 */
80#define WPAS_DBUS_NEW_PERSISTENT_GROUPS_PART "PersistentGroups"
81#define WPAS_DBUS_NEW_IFACE_PERSISTENT_GROUP \
82	WPAS_DBUS_NEW_INTERFACE ".PersistentGroup"
83
84#define WPAS_DBUS_NEW_P2P_PEERS_PART	"Peers"
85#define	WPAS_DBUS_NEW_IFACE_P2P_PEER WPAS_DBUS_NEW_INTERFACE ".Peer"
86
87/* Top-level Errors */
88#define WPAS_DBUS_ERROR_UNKNOWN_ERROR \
89	WPAS_DBUS_NEW_INTERFACE ".UnknownError"
90#define WPAS_DBUS_ERROR_INVALID_ARGS \
91	WPAS_DBUS_NEW_INTERFACE ".InvalidArgs"
92
93#define WPAS_DBUS_ERROR_IFACE_EXISTS \
94	WPAS_DBUS_NEW_INTERFACE ".InterfaceExists"
95#define WPAS_DBUS_ERROR_IFACE_DISABLED            \
96	WPAS_DBUS_NEW_INTERFACE ".InterfaceDisabled"
97#define WPAS_DBUS_ERROR_IFACE_UNKNOWN \
98	WPAS_DBUS_NEW_INTERFACE ".InterfaceUnknown"
99
100#define WPAS_DBUS_ERROR_NOT_CONNECTED \
101	WPAS_DBUS_NEW_INTERFACE ".NotConnected"
102#define WPAS_DBUS_ERROR_NETWORK_UNKNOWN \
103	WPAS_DBUS_NEW_INTERFACE ".NetworkUnknown"
104
105#define WPAS_DBUS_ERROR_CONNECT_CHANNEL_UNAVAILABLE \
106	WPAS_DBUS_NEW_INTERFACE ".ConnectChannelUnavailable"
107#define WPAS_DBUS_ERROR_CONNECT_CHANNEL_UNSUPPORTED \
108	WPAS_DBUS_NEW_INTERFACE ".ConnectChannelUnsupported"
109#define WPAS_DBUS_ERROR_CONNECT_UNSPECIFIED_ERROR \
110	WPAS_DBUS_NEW_INTERFACE ".ConnectUnspecifiedError"
111
112#define WPAS_DBUS_ERROR_BLOB_EXISTS \
113	WPAS_DBUS_NEW_INTERFACE ".BlobExists"
114#define WPAS_DBUS_ERROR_BLOB_UNKNOWN \
115	WPAS_DBUS_NEW_INTERFACE ".BlobUnknown"
116
117#define WPAS_DBUS_ERROR_SUBSCRIPTION_IN_USE \
118	WPAS_DBUS_NEW_INTERFACE ".SubscriptionInUse"
119#define WPAS_DBUS_ERROR_NO_SUBSCRIPTION \
120	WPAS_DBUS_NEW_INTERFACE ".NoSubscription"
121#define WPAS_DBUS_ERROR_SUBSCRIPTION_EPERM \
122	WPAS_DBUS_NEW_INTERFACE ".SubscriptionNotYou"
123
124/* Interface-level errors */
125#define WPAS_DBUS_ERROR_IFACE_SCAN_ERROR \
126	WPAS_DBUS_NEW_IFACE_INTERFACE ".ScanError"
127
128void wpas_dbus_subscribe_noc(struct wpas_dbus_priv *priv);
129void wpas_dbus_unsubscribe_noc(struct wpas_dbus_priv *priv);
130
131
132#ifdef CONFIG_CTRL_IFACE_DBUS_NEW
133
134int wpas_dbus_ctrl_iface_init(struct wpas_dbus_priv *priv);
135void wpas_dbus_ctrl_iface_deinit(struct wpas_dbus_priv *iface);
136
137int wpas_dbus_register_interface(struct wpa_supplicant *wpa_s);
138int wpas_dbus_unregister_interface(struct wpa_supplicant *wpa_s);
139void wpas_dbus_signal_prop_changed(struct wpa_supplicant *wpa_s,
140				   enum wpas_dbus_prop property);
141void wpas_dbus_bss_signal_prop_changed(struct wpa_supplicant *wpa_s,
142				       enum wpas_dbus_bss_prop property,
143				       unsigned int id);
144void wpas_dbus_signal_network_enabled_changed(struct wpa_supplicant *wpa_s,
145					      struct wpa_ssid *ssid);
146void wpas_dbus_signal_network_selected(struct wpa_supplicant *wpa_s, int id);
147void wpas_dbus_signal_network_request(struct wpa_supplicant *wpa_s,
148				      struct wpa_ssid *ssid,
149				      enum wpa_ctrl_req_type rtype,
150				      const char *default_text);
151void wpas_dbus_signal_scan_done(struct wpa_supplicant *wpa_s, int success);
152void wpas_dbus_signal_wps_cred(struct wpa_supplicant *wpa_s,
153			       const struct wps_credential *cred);
154void wpas_dbus_signal_wps_event_m2d(struct wpa_supplicant *wpa_s,
155				    struct wps_event_m2d *m2d);
156void wpas_dbus_signal_wps_event_fail(struct wpa_supplicant *wpa_s,
157				     struct wps_event_fail *fail);
158void wpas_dbus_signal_wps_event_success(struct wpa_supplicant *wpa_s);
159void wpas_dbus_signal_wps_event_pbc_overlap(struct wpa_supplicant *wpa_s);
160int wpas_dbus_register_network(struct wpa_supplicant *wpa_s,
161			       struct wpa_ssid *ssid);
162int wpas_dbus_unregister_network(struct wpa_supplicant *wpa_s, int nid);
163int wpas_dbus_unregister_bss(struct wpa_supplicant *wpa_s,
164			     u8 bssid[ETH_ALEN], unsigned int id);
165int wpas_dbus_register_bss(struct wpa_supplicant *wpa_s,
166			   u8 bssid[ETH_ALEN], unsigned int id);
167void wpas_dbus_signal_blob_added(struct wpa_supplicant *wpa_s,
168				 const char *name);
169void wpas_dbus_signal_blob_removed(struct wpa_supplicant *wpa_s,
170				   const char *name);
171void wpas_dbus_signal_debug_level_changed(struct wpa_global *global);
172void wpas_dbus_signal_debug_timestamp_changed(struct wpa_global *global);
173void wpas_dbus_signal_debug_show_keys_changed(struct wpa_global *global);
174
175int wpas_dbus_register_peer(struct wpa_supplicant *wpa_s, const u8 *dev_addr);
176void wpas_dbus_signal_p2p_find_stopped(struct wpa_supplicant *wpa_s);
177void wpas_dbus_signal_peer_device_found(struct wpa_supplicant *wpa_s,
178					   const u8 *dev_addr);
179int wpas_dbus_unregister_peer(struct wpa_supplicant *wpa_s,
180				  const u8 *dev_addr);
181void wpas_dbus_signal_peer_device_lost(struct wpa_supplicant *wpa_s,
182					   const u8 *dev_addr);
183void wpas_dbus_signal_peer_groups_changed(struct wpa_supplicant *wpa_s,
184					  const u8 *dev_addr);
185void wpas_dbus_signal_p2p_group_removed(struct wpa_supplicant *wpa_s,
186					const char *role);
187void wpas_dbus_signal_p2p_provision_discovery(struct wpa_supplicant *wpa_s,
188					      const u8 *dev_addr, int request,
189					      enum p2p_prov_disc_status status,
190					      u16 config_methods,
191					      unsigned int generated_pin);
192void wpas_dbus_signal_p2p_go_neg_req(struct wpa_supplicant *wpa_s,
193				     const u8 *src, u16 dev_passwd_id,
194				     u8 go_intent);
195void wpas_dbus_signal_p2p_group_started(struct wpa_supplicant *wpa_s,
196					int client, int persistent,
197					const u8 *ip);
198void wpas_dbus_signal_p2p_group_formation_failure(struct wpa_supplicant *wpa_s,
199						  const char *reason);
200void wpas_dbus_register_p2p_group(struct wpa_supplicant *wpa_s,
201				  struct wpa_ssid *ssid);
202void wpas_dbus_signal_p2p_go_neg_resp(struct wpa_supplicant *wpa_s,
203				      struct p2p_go_neg_results *res);
204void wpas_dbus_unregister_p2p_group(struct wpa_supplicant *wpa_s,
205				    const struct wpa_ssid *ssid);
206int wpas_dbus_register_persistent_group(struct wpa_supplicant *wpa_s,
207					struct wpa_ssid *ssid);
208int wpas_dbus_unregister_persistent_group(struct wpa_supplicant *wpa_s,
209					  int nid);
210void wpas_dbus_signal_p2p_invitation_result(struct wpa_supplicant *wpa_s,
211					    int status, const u8 *bssid);
212void wpas_dbus_signal_p2p_peer_disconnected(struct wpa_supplicant *wpa_s,
213					    const u8 *member);
214void wpas_dbus_signal_p2p_sd_request(struct wpa_supplicant *wpa_s,
215				     int freq, const u8 *sa, u8 dialog_token,
216				     u16 update_indic, const u8 *tlvs,
217				     size_t tlvs_len);
218void wpas_dbus_signal_p2p_sd_response(struct wpa_supplicant *wpa_s,
219				      const u8 *sa, u16 update_indic,
220				      const u8 *tlvs, size_t tlvs_len);
221void wpas_dbus_signal_p2p_peer_joined(struct wpa_supplicant *wpa_s,
222				const u8 *member);
223void wpas_dbus_signal_p2p_wps_failed(struct wpa_supplicant *wpa_s,
224				     struct wps_event_fail *fail);
225void wpas_dbus_signal_certification(struct wpa_supplicant *wpa_s,
226				    int depth, const char *subject,
227				    const char *altsubject[],
228				    int num_altsubject,
229				    const char *cert_hash,
230				    const struct wpabuf *cert);
231void wpas_dbus_signal_preq(struct wpa_supplicant *wpa_s,
232			   const u8 *addr, const u8 *dst, const u8 *bssid,
233			   const u8 *ie, size_t ie_len, u32 ssi_signal);
234void wpas_dbus_signal_eap_status(struct wpa_supplicant *wpa_s,
235				 const char *status, const char *parameter);
236void wpas_dbus_signal_sta_authorized(struct wpa_supplicant *wpa_s,
237				     const u8 *sta);
238void wpas_dbus_signal_sta_deauthorized(struct wpa_supplicant *wpa_s,
239				       const u8 *sta);
240void wpas_dbus_signal_p2p_invitation_received(struct wpa_supplicant *wpa_s,
241					      const u8 *sa, const u8 *dev_addr,
242					      const u8 *bssid, int id,
243					      int op_freq);
244void wpas_dbus_signal_mesh_group_started(struct wpa_supplicant *wpa_s,
245					 struct wpa_ssid *ssid);
246void wpas_dbus_signal_mesh_group_removed(struct wpa_supplicant *wpa_s,
247					 const u8 *meshid, u8 meshid_len,
248					 int reason);
249void wpas_dbus_signal_mesh_peer_connected(struct wpa_supplicant *wpa_s,
250					  const u8 *peer_addr);
251void wpas_dbus_signal_mesh_peer_disconnected(struct wpa_supplicant *wpa_s,
252					     const u8 *peer_addr, int reason);
253
254#else /* CONFIG_CTRL_IFACE_DBUS_NEW */
255
256static inline int wpas_dbus_register_interface(struct wpa_supplicant *wpa_s)
257{
258	return 0;
259}
260
261static inline int wpas_dbus_unregister_interface(struct wpa_supplicant *wpa_s)
262{
263	return 0;
264}
265
266#define wpas_dbus_signal_state_changed(w, n, o) do { } while (0)
267
268static inline void wpas_dbus_signal_prop_changed(struct wpa_supplicant *wpa_s,
269						 enum wpas_dbus_prop property)
270{
271}
272
273static inline void wpas_dbus_bss_signal_prop_changed(
274	struct wpa_supplicant *wpa_s, enum wpas_dbus_bss_prop property,
275	unsigned int id)
276{
277}
278
279static inline void wpas_dbus_signal_network_enabled_changed(
280	struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
281{
282}
283
284static inline void wpas_dbus_signal_network_selected(
285	struct wpa_supplicant *wpa_s, int id)
286{
287}
288
289static inline void wpas_dbus_signal_network_request(
290	struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid,
291	enum wpa_ctrl_req_type rtype, const char *default_txt)
292{
293}
294
295static inline void wpas_dbus_signal_scan_done(struct wpa_supplicant *wpa_s,
296					      int success)
297{
298}
299
300static inline void wpas_dbus_signal_wps_cred(struct wpa_supplicant *wpa_s,
301					     const struct wps_credential *cred)
302{
303}
304
305static inline void wpas_dbus_signal_wps_event_m2d(struct wpa_supplicant *wpa_s,
306						  struct wps_event_m2d *m2d)
307{
308}
309
310static inline void wpas_dbus_signal_wps_event_fail(
311	struct wpa_supplicant *wpa_s, struct wps_event_fail *fail)
312{
313}
314
315static inline void wpas_dbus_signal_wps_event_success(
316	struct wpa_supplicant *wpa_s)
317{
318}
319
320static inline void wpas_dbus_signal_wps_event_pbc_overlap(
321	struct wpa_supplicant *wpa_s)
322{
323}
324
325static inline int wpas_dbus_register_network(struct wpa_supplicant *wpa_s,
326					     struct wpa_ssid *ssid)
327{
328	return 0;
329}
330
331static inline int wpas_dbus_unregister_network(struct wpa_supplicant *wpa_s,
332					       int nid)
333{
334	return 0;
335}
336
337static inline int wpas_dbus_unregister_bss(struct wpa_supplicant *wpa_s,
338					   u8 bssid[ETH_ALEN], unsigned int id)
339{
340	return 0;
341}
342
343static inline int wpas_dbus_register_bss(struct wpa_supplicant *wpa_s,
344					 u8 bssid[ETH_ALEN], unsigned int id)
345{
346	return 0;
347}
348
349static inline void wpas_dbus_signal_blob_added(struct wpa_supplicant *wpa_s,
350					       const char *name)
351{
352}
353
354static inline void wpas_dbus_signal_blob_removed(struct wpa_supplicant *wpa_s,
355						 const char *name)
356{
357}
358
359static inline void wpas_dbus_signal_debug_level_changed(
360	struct wpa_global *global)
361{
362}
363
364static inline void wpas_dbus_signal_debug_timestamp_changed(
365	struct wpa_global *global)
366{
367}
368
369static inline void wpas_dbus_signal_debug_show_keys_changed(
370	struct wpa_global *global)
371{
372}
373
374static inline int wpas_dbus_register_peer(struct wpa_supplicant *wpa_s,
375					  const u8 *dev_addr)
376{
377	return 0;
378}
379
380static inline int wpas_dbus_unregister_peer(struct wpa_supplicant *wpa_s,
381					    const u8 *dev_addr)
382{
383	return 0;
384}
385
386static inline void
387wpas_dbus_signal_peer_groups_changed(struct wpa_supplicant *wpa_s,
388				     const u8 *dev_addr)
389{
390}
391
392static inline void
393wpas_dbus_signal_p2p_group_removed(struct wpa_supplicant *wpa_s,
394				   const char *role)
395{
396}
397
398static inline void
399wpas_dbus_signal_p2p_provision_discovery(struct wpa_supplicant *wpa_s,
400					 const u8 *dev_addr, int request,
401					 enum p2p_prov_disc_status status,
402					 u16 config_methods,
403					 unsigned int generated_pin)
404{
405}
406
407static inline void wpas_dbus_signal_p2p_go_neg_req(struct wpa_supplicant *wpa_s,
408						   const u8 *src,
409						   u16 dev_passwd_id,
410						   u8 go_intent)
411{
412}
413
414static inline void
415wpas_dbus_signal_p2p_group_started(struct wpa_supplicant *wpa_s,
416				   int client, int persistent,
417				   const u8 *ip)
418{
419}
420
421static inline void
422wpas_dbus_signal_p2p_group_formation_failure(struct wpa_supplicant *wpa_s,
423					     const char *reason)
424{
425}
426
427static inline void
428wpas_dbus_register_p2p_group(struct wpa_supplicant *wpa_s,
429			     struct wpa_ssid *ssid)
430{
431}
432
433static inline int wpas_dbus_register_persistent_group(
434	struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
435{
436	return 0;
437}
438
439static inline int wpas_dbus_unregister_persistent_group(
440	struct wpa_supplicant *wpa_s, int nid)
441{
442	return 0;
443}
444
445static inline void
446wpas_dbus_signal_p2p_go_neg_resp(struct wpa_supplicant *wpa_s,
447				 struct p2p_go_neg_results *res)
448{
449}
450
451static inline void
452wpas_dbus_unregister_p2p_group(struct wpa_supplicant *wpa_s,
453			       const struct wpa_ssid *ssid)
454{
455}
456
457static inline void wpas_dbus_signal_p2p_invitation_result(
458				struct wpa_supplicant *wpa_s, int status,
459				const u8 *bssid)
460{
461}
462
463static inline void
464wpas_dbus_register_p2p_groupmember(struct wpa_supplicant *wpa_s,
465				   const u8 *p2p_if_addr)
466{
467}
468
469static inline void
470wpas_dbus_signal_p2p_sd_request(struct wpa_supplicant *wpa_s, int freq,
471				const u8 *sa, u8 dialog_token, u16 update_indic,
472				const u8 *tlvs, size_t tlvs_len)
473{
474}
475
476static inline void
477wpas_dbus_signal_p2p_sd_response(struct wpa_supplicant *wpa_s,
478				 const u8 *sa, u16 update_indic,
479				 const u8 *tlvs, size_t tlvs_len)
480{
481}
482
483static inline void
484wpas_dbus_unregister_p2p_groupmember(struct wpa_supplicant *wpa_s,
485				     const u8 *p2p_if_addr)
486{
487}
488
489static inline void
490wpas_dbus_signal_p2p_peer_joined(struct wpa_supplicant *wpa_s,
491				 const u8 *member)
492{
493}
494
495static inline void
496wpas_dbus_signal_p2p_find_stopped(struct wpa_supplicant *wpa_s)
497{
498}
499
500static inline void
501wpas_dbus_signal_peer_device_found(struct wpa_supplicant *wpa_s,
502				   const u8 *dev_addr)
503{
504}
505
506static inline void
507wpas_dbus_signal_peer_device_lost(struct wpa_supplicant *wpa_s,
508				  const u8 *dev_addr)
509{
510}
511
512static inline void
513wpas_dbus_signal_p2p_peer_disconnected(struct wpa_supplicant *wpa_s,
514				       const u8 *member)
515{
516}
517
518static inline void
519wpas_dbus_signal_p2p_wps_failed(struct wpa_supplicant *wpa_s,
520				struct wps_event_fail *fail)
521{
522}
523
524static inline void wpas_dbus_signal_certification(struct wpa_supplicant *wpa_s,
525						  int depth,
526						  const char *subject,
527						  const char *altsubject[],
528						  int num_altsubject,
529						  const char *cert_hash,
530						  const struct wpabuf *cert)
531{
532}
533
534static inline void wpas_dbus_signal_preq(struct wpa_supplicant *wpa_s,
535					 const u8 *addr, const u8 *dst,
536					 const u8 *bssid,
537					 const u8 *ie, size_t ie_len,
538					 u32 ssi_signal)
539{
540}
541
542static inline void wpas_dbus_signal_eap_status(struct wpa_supplicant *wpa_s,
543					       const char *status,
544					       const char *parameter)
545{
546}
547
548static inline
549void wpas_dbus_signal_sta_authorized(struct wpa_supplicant *wpa_s,
550				     const u8 *sta)
551{
552}
553
554static inline
555void wpas_dbus_signal_sta_deauthorized(struct wpa_supplicant *wpa_s,
556				       const u8 *sta)
557{
558}
559
560static inline
561void wpas_dbus_signal_p2p_invitation_received(struct wpa_supplicant *wpa_s,
562					      const u8 *sa, const u8 *dev_addr,
563					      const u8 *bssid, int id,
564					      int op_freq)
565{
566}
567
568static inline
569void wpas_dbus_signal_mesh_group_started(struct wpa_supplicant *wpa_s,
570					 struct wpa_ssid *ssid)
571{
572}
573
574static inline
575void wpas_dbus_signal_mesh_group_removed(struct wpa_supplicant *wpa_s,
576					 const u8 *meshid, u8 meshid_len,
577					 int reason)
578{
579}
580
581static inline
582void wpas_dbus_signal_mesh_peer_connected(struct wpa_supplicant *wpa_s,
583					  const u8 *peer_addr)
584{
585}
586
587static inline
588void wpas_dbus_signal_mesh_peer_disconnected(struct wpa_supplicant *wpa_s,
589					     const u8 *peer_addr, int reason)
590{
591}
592
593#endif /* CONFIG_CTRL_IFACE_DBUS_NEW */
594
595#endif /* CTRL_IFACE_DBUS_H_NEW */
596