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 
16 struct wpa_global;
17 struct wpa_supplicant;
18 struct wpa_ssid;
19 struct wpa_cred;
20 struct wpa_bss;
21 struct wps_event_m2d;
22 struct wps_event_fail;
23 struct wps_credential;
24 enum nan_service_protocol_type;
25 
26 enum wpas_dbus_prop {
27 	WPAS_DBUS_PROP_AP_SCAN,
28 	WPAS_DBUS_PROP_SCANNING,
29 	WPAS_DBUS_PROP_STATE,
30 	WPAS_DBUS_PROP_CURRENT_BSS,
31 	WPAS_DBUS_PROP_CURRENT_NETWORK,
32 	WPAS_DBUS_PROP_CURRENT_AUTH_MODE,
33 	WPAS_DBUS_PROP_BSSS,
34 	WPAS_DBUS_PROP_STATIONS,
35 	WPAS_DBUS_PROP_DISCONNECT_REASON,
36 	WPAS_DBUS_PROP_AUTH_STATUS_CODE,
37 	WPAS_DBUS_PROP_ASSOC_STATUS_CODE,
38 	WPAS_DBUS_PROP_ROAM_TIME,
39 	WPAS_DBUS_PROP_ROAM_COMPLETE,
40 	WPAS_DBUS_PROP_SCAN_IN_PROGRESS_6GHZ,
41 	WPAS_DBUS_PROP_SESSION_LENGTH,
42 	WPAS_DBUS_PROP_BSS_TM_STATUS,
43 	WPAS_DBUS_PROP_MAC_ADDRESS,
44 	WPAS_DBUS_PROP_SIGNAL_CHANGE,
45 };
46 
47 enum wpas_dbus_bss_prop {
48 	WPAS_DBUS_BSS_PROP_SIGNAL,
49 	WPAS_DBUS_BSS_PROP_FREQ,
50 	WPAS_DBUS_BSS_PROP_MODE,
51 	WPAS_DBUS_BSS_PROP_PRIVACY,
52 	WPAS_DBUS_BSS_PROP_RATES,
53 	WPAS_DBUS_BSS_PROP_WPA,
54 	WPAS_DBUS_BSS_PROP_RSN,
55 	WPAS_DBUS_BSS_PROP_WPS,
56 	WPAS_DBUS_BSS_PROP_IES,
57 	WPAS_DBUS_BSS_PROP_AGE,
58 	WPAS_DBUS_BSS_PROP_ANQP,
59 };
60 
61 enum wpas_dbus_sta_prop {
62 	WPAS_DBUS_STA_PROP_ADDRESS,
63 };
64 
65 #define WPAS_DBUS_OBJECT_PATH_MAX 150
66 
67 #define WPAS_DBUS_NEW_SERVICE		"fi.w1.wpa_supplicant1"
68 #define WPAS_DBUS_NEW_PATH		"/fi/w1/wpa_supplicant1"
69 #define WPAS_DBUS_NEW_INTERFACE		"fi.w1.wpa_supplicant1"
70 
71 #define WPAS_DBUS_NEW_PATH_INTERFACES	WPAS_DBUS_NEW_PATH "/Interfaces"
72 #define WPAS_DBUS_NEW_IFACE_INTERFACE	WPAS_DBUS_NEW_INTERFACE ".Interface"
73 #define WPAS_DBUS_NEW_IFACE_WPS WPAS_DBUS_NEW_IFACE_INTERFACE ".WPS"
74 
75 #define WPAS_DBUS_NEW_NETWORKS_PART "Networks"
76 #define WPAS_DBUS_NEW_IFACE_NETWORK WPAS_DBUS_NEW_INTERFACE ".Network"
77 
78 #define WPAS_DBUS_NEW_BSSIDS_PART "BSSs"
79 #define WPAS_DBUS_NEW_IFACE_BSS	WPAS_DBUS_NEW_INTERFACE ".BSS"
80 
81 #define WPAS_DBUS_NEW_STAS_PART "Stations"
82 #define WPAS_DBUS_NEW_IFACE_STA	WPAS_DBUS_NEW_INTERFACE ".Station"
83 
84 #define WPAS_DBUS_NEW_IFACE_P2PDEVICE	\
85 		WPAS_DBUS_NEW_IFACE_INTERFACE ".P2PDevice"
86 
87 #define WPAS_DBUS_NEW_IFACE_MESH WPAS_DBUS_NEW_IFACE_INTERFACE ".Mesh"
88 
89 /*
90  * Groups correspond to P2P groups where this device is a GO (owner)
91  */
92 #define WPAS_DBUS_NEW_P2P_GROUPS_PART	"Groups"
93 #define	WPAS_DBUS_NEW_IFACE_P2P_GROUP WPAS_DBUS_NEW_INTERFACE ".Group"
94 
95 /*
96  * Different dbus object for persistent groups so they do not get confused
97  * with regular (configured) network objects.
98  */
99 #define WPAS_DBUS_NEW_PERSISTENT_GROUPS_PART "PersistentGroups"
100 #define WPAS_DBUS_NEW_IFACE_PERSISTENT_GROUP \
101 	WPAS_DBUS_NEW_INTERFACE ".PersistentGroup"
102 
103 #define WPAS_DBUS_NEW_P2P_PEERS_PART	"Peers"
104 #define	WPAS_DBUS_NEW_IFACE_P2P_PEER WPAS_DBUS_NEW_INTERFACE ".Peer"
105 
106 #define WPAS_DBUS_NEW_CREDENTIALS_PART "Credentials"
107 #define WPAS_DBUS_NEW_IFACE_CREDENTIAL WPAS_DBUS_NEW_INTERFACE ".Credential"
108 
109 /* Top-level Errors */
110 #define WPAS_DBUS_ERROR_UNKNOWN_ERROR \
111 	WPAS_DBUS_NEW_INTERFACE ".UnknownError"
112 #define WPAS_DBUS_ERROR_INVALID_ARGS \
113 	WPAS_DBUS_NEW_INTERFACE ".InvalidArgs"
114 
115 #define WPAS_DBUS_ERROR_IFACE_EXISTS \
116 	WPAS_DBUS_NEW_INTERFACE ".InterfaceExists"
117 #define WPAS_DBUS_ERROR_IFACE_DISABLED            \
118 	WPAS_DBUS_NEW_INTERFACE ".InterfaceDisabled"
119 #define WPAS_DBUS_ERROR_IFACE_UNKNOWN \
120 	WPAS_DBUS_NEW_INTERFACE ".InterfaceUnknown"
121 
122 #define WPAS_DBUS_ERROR_NOT_CONNECTED \
123 	WPAS_DBUS_NEW_INTERFACE ".NotConnected"
124 #define WPAS_DBUS_ERROR_NETWORK_UNKNOWN \
125 	WPAS_DBUS_NEW_INTERFACE ".NetworkUnknown"
126 
127 #define WPAS_DBUS_ERROR_CONNECT_CHANNEL_UNAVAILABLE \
128 	WPAS_DBUS_NEW_INTERFACE ".ConnectChannelUnavailable"
129 #define WPAS_DBUS_ERROR_CONNECT_CHANNEL_UNSUPPORTED \
130 	WPAS_DBUS_NEW_INTERFACE ".ConnectChannelUnsupported"
131 #define WPAS_DBUS_ERROR_CONNECT_UNSPECIFIED_ERROR \
132 	WPAS_DBUS_NEW_INTERFACE ".ConnectUnspecifiedError"
133 
134 #define WPAS_DBUS_ERROR_BLOB_EXISTS \
135 	WPAS_DBUS_NEW_INTERFACE ".BlobExists"
136 #define WPAS_DBUS_ERROR_BLOB_UNKNOWN \
137 	WPAS_DBUS_NEW_INTERFACE ".BlobUnknown"
138 
139 #define WPAS_DBUS_ERROR_SUBSCRIPTION_IN_USE \
140 	WPAS_DBUS_NEW_INTERFACE ".SubscriptionInUse"
141 #define WPAS_DBUS_ERROR_NO_SUBSCRIPTION \
142 	WPAS_DBUS_NEW_INTERFACE ".NoSubscription"
143 #define WPAS_DBUS_ERROR_SUBSCRIPTION_EPERM \
144 	WPAS_DBUS_NEW_INTERFACE ".SubscriptionNotYou"
145 
146 /* Interface-level errors */
147 #define WPAS_DBUS_ERROR_IFACE_SCAN_ERROR \
148 	WPAS_DBUS_NEW_IFACE_INTERFACE ".ScanError"
149 
150 void wpas_dbus_subscribe_noc(struct wpas_dbus_priv *priv);
151 void wpas_dbus_unsubscribe_noc(struct wpas_dbus_priv *priv);
152 
153 
154 #ifdef CONFIG_CTRL_IFACE_DBUS_NEW
155 
156 int wpas_dbus_ctrl_iface_init(struct wpas_dbus_priv *priv);
157 void wpas_dbus_ctrl_iface_deinit(struct wpas_dbus_priv *iface);
158 
159 int wpas_dbus_register_interface(struct wpa_supplicant *wpa_s);
160 int wpas_dbus_unregister_interface(struct wpa_supplicant *wpa_s);
161 void wpas_dbus_signal_prop_changed(struct wpa_supplicant *wpa_s,
162 				   enum wpas_dbus_prop property);
163 void wpas_dbus_bss_signal_prop_changed(struct wpa_supplicant *wpa_s,
164 				       enum wpas_dbus_bss_prop property,
165 				       unsigned int id);
166 void wpas_dbus_signal_network_enabled_changed(struct wpa_supplicant *wpa_s,
167 					      struct wpa_ssid *ssid);
168 void wpas_dbus_signal_network_selected(struct wpa_supplicant *wpa_s, int id);
169 void wpas_dbus_signal_network_request(struct wpa_supplicant *wpa_s,
170 				      struct wpa_ssid *ssid,
171 				      enum wpa_ctrl_req_type rtype,
172 				      const char *default_text);
173 void wpas_dbus_signal_scan_done(struct wpa_supplicant *wpa_s, int success);
174 void wpas_dbus_signal_wps_cred(struct wpa_supplicant *wpa_s,
175 			       const struct wps_credential *cred);
176 void wpas_dbus_signal_wps_event_m2d(struct wpa_supplicant *wpa_s,
177 				    struct wps_event_m2d *m2d);
178 void wpas_dbus_signal_wps_event_fail(struct wpa_supplicant *wpa_s,
179 				     struct wps_event_fail *fail);
180 void wpas_dbus_signal_wps_event_success(struct wpa_supplicant *wpa_s);
181 void wpas_dbus_signal_wps_event_pbc_overlap(struct wpa_supplicant *wpa_s);
182 int wpas_dbus_register_network(struct wpa_supplicant *wpa_s,
183 			       struct wpa_ssid *ssid);
184 int wpas_dbus_unregister_network(struct wpa_supplicant *wpa_s, int nid);
185 int wpas_dbus_unregister_bss(struct wpa_supplicant *wpa_s,
186 			     u8 bssid[ETH_ALEN], unsigned int id);
187 int wpas_dbus_register_bss(struct wpa_supplicant *wpa_s,
188 			   u8 bssid[ETH_ALEN], unsigned int id);
189 int wpas_dbus_unregister_sta(struct wpa_supplicant *wpa_s, const u8 *sta);
190 int wpas_dbus_register_sta(struct wpa_supplicant *wpa_s, const u8 *sta);
191 void wpas_dbus_signal_blob_added(struct wpa_supplicant *wpa_s,
192 				 const char *name);
193 void wpas_dbus_signal_blob_removed(struct wpa_supplicant *wpa_s,
194 				   const char *name);
195 void wpas_dbus_signal_debug_level_changed(struct wpa_global *global);
196 void wpas_dbus_signal_debug_timestamp_changed(struct wpa_global *global);
197 void wpas_dbus_signal_debug_show_keys_changed(struct wpa_global *global);
198 
199 int wpas_dbus_register_peer(struct wpa_supplicant *wpa_s, const u8 *dev_addr);
200 void wpas_dbus_signal_p2p_find_stopped(struct wpa_supplicant *wpa_s);
201 void wpas_dbus_signal_peer_device_found(struct wpa_supplicant *wpa_s,
202 					   const u8 *dev_addr);
203 int wpas_dbus_unregister_peer(struct wpa_supplicant *wpa_s,
204 				  const u8 *dev_addr);
205 void wpas_dbus_signal_peer_device_lost(struct wpa_supplicant *wpa_s,
206 					   const u8 *dev_addr);
207 void wpas_dbus_signal_peer_groups_changed(struct wpa_supplicant *wpa_s,
208 					  const u8 *dev_addr);
209 void wpas_dbus_signal_p2p_group_removed(struct wpa_supplicant *wpa_s,
210 					const char *role);
211 void wpas_dbus_signal_p2p_provision_discovery(struct wpa_supplicant *wpa_s,
212 					      const u8 *dev_addr, int request,
213 					      enum p2p_prov_disc_status status,
214 					      u16 config_methods,
215 					      unsigned int generated_pin);
216 void wpas_dbus_signal_p2p_go_neg_req(struct wpa_supplicant *wpa_s,
217 				     const u8 *src, u16 dev_passwd_id,
218 				     u8 go_intent);
219 void wpas_dbus_signal_p2p_group_started(struct wpa_supplicant *wpa_s,
220 					int client, int persistent,
221 					const u8 *ip);
222 void wpas_dbus_signal_p2p_group_formation_failure(struct wpa_supplicant *wpa_s,
223 						  const char *reason);
224 void wpas_dbus_register_p2p_group(struct wpa_supplicant *wpa_s,
225 				  struct wpa_ssid *ssid);
226 void wpas_dbus_signal_p2p_go_neg_resp(struct wpa_supplicant *wpa_s,
227 				      struct p2p_go_neg_results *res);
228 void wpas_dbus_unregister_p2p_group(struct wpa_supplicant *wpa_s,
229 				    const struct wpa_ssid *ssid);
230 int wpas_dbus_register_persistent_group(struct wpa_supplicant *wpa_s,
231 					struct wpa_ssid *ssid);
232 int wpas_dbus_unregister_persistent_group(struct wpa_supplicant *wpa_s,
233 					  int nid);
234 void wpas_dbus_signal_p2p_invitation_result(struct wpa_supplicant *wpa_s,
235 					    int status, const u8 *bssid);
236 void wpas_dbus_signal_p2p_peer_disconnected(struct wpa_supplicant *wpa_s,
237 					    const u8 *member);
238 void wpas_dbus_signal_p2p_sd_request(struct wpa_supplicant *wpa_s,
239 				     int freq, const u8 *sa, u8 dialog_token,
240 				     u16 update_indic, const u8 *tlvs,
241 				     size_t tlvs_len);
242 void wpas_dbus_signal_p2p_sd_response(struct wpa_supplicant *wpa_s,
243 				      const u8 *sa, u16 update_indic,
244 				      const u8 *tlvs, size_t tlvs_len);
245 void wpas_dbus_signal_p2p_peer_joined(struct wpa_supplicant *wpa_s,
246 				const u8 *member);
247 void wpas_dbus_signal_p2p_wps_failed(struct wpa_supplicant *wpa_s,
248 				     struct wps_event_fail *fail);
249 void wpas_dbus_signal_certification(struct wpa_supplicant *wpa_s,
250 				    int depth, const char *subject,
251 				    const char *altsubject[],
252 				    int num_altsubject,
253 				    const char *cert_hash,
254 				    const struct wpabuf *cert);
255 void wpas_dbus_signal_preq(struct wpa_supplicant *wpa_s,
256 			   const u8 *addr, const u8 *dst, const u8 *bssid,
257 			   const u8 *ie, size_t ie_len, u32 ssi_signal);
258 void wpas_dbus_signal_eap_status(struct wpa_supplicant *wpa_s,
259 				 const char *status, const char *parameter);
260 void wpas_dbus_signal_psk_mismatch(struct wpa_supplicant *wpa_s);
261 void wpas_dbus_signal_sta_authorized(struct wpa_supplicant *wpa_s,
262 				     const u8 *sta);
263 void wpas_dbus_signal_sta_deauthorized(struct wpa_supplicant *wpa_s,
264 				       const u8 *sta);
265 void wpas_dbus_signal_p2p_invitation_received(struct wpa_supplicant *wpa_s,
266 					      const u8 *sa, const u8 *dev_addr,
267 					      const u8 *bssid, int id,
268 					      int op_freq);
269 void wpas_dbus_signal_p2p_bootstrap_req(struct wpa_supplicant *wpa_s,
270 					const u8 *src, u16 bootstrap_method);
271 void wpas_dbus_signal_p2p_bootstrap_rsp(struct wpa_supplicant *wpa_s,
272 					const u8 *src, int status,
273 					u16 bootstrap_method);
274 void wpas_dbus_signal_mesh_group_started(struct wpa_supplicant *wpa_s,
275 					 struct wpa_ssid *ssid);
276 void wpas_dbus_signal_mesh_group_removed(struct wpa_supplicant *wpa_s,
277 					 const u8 *meshid, u8 meshid_len,
278 					 int reason);
279 void wpas_dbus_signal_mesh_peer_connected(struct wpa_supplicant *wpa_s,
280 					  const u8 *peer_addr);
281 void wpas_dbus_signal_mesh_peer_disconnected(struct wpa_supplicant *wpa_s,
282 					     const u8 *peer_addr, int reason);
283 void wpas_dbus_signal_interworking_ap_added(struct wpa_supplicant *wpa_s,
284 					    struct wpa_bss *bss,
285 					    struct wpa_cred *cred,
286 					    const char *type, int excluded,
287 					    int bh, int bss_load,
288 					    int conn_capab);
289 void wpas_dbus_signal_interworking_select_done(struct wpa_supplicant *wpa_s);
290 void wpas_dbus_signal_anqp_query_done(struct wpa_supplicant *wpa_s,
291 				      const u8 *dst, const char *result);
292 void wpas_dbus_signal_hs20_t_c_acceptance(struct wpa_supplicant *wpa_s,
293 					  const char *url);
294 void wpas_dbus_signal_nan_discovery_result(struct wpa_supplicant *wpa_s,
295 					   enum nan_service_protocol_type
296 					   srv_proto_type,
297 					   int subscribe_id,
298 					   int peer_publish_id,
299 					   const u8 *peer_addr,
300 					   bool fsd, bool fsd_gas,
301 					   const u8 *ssi, size_t ssi_len);
302 void wpas_dbus_signal_nan_replied(struct wpa_supplicant *wpa_s,
303 				  enum nan_service_protocol_type srv_proto_type,
304 				  int publish_id, int peer_subscribe_id,
305 				  const u8 *peer_addr,
306 				  const u8 *ssi, size_t ssi_len);
307 void wpas_dbus_signal_nan_receive(struct wpa_supplicant *wpa_s, int id,
308 				  int peer_id, const u8 *peer_addr,
309 				  const u8 *ssi, size_t ssi_len);
310 void wpas_dbus_signal_nan_publish_terminated(struct wpa_supplicant *wpa_s,
311 					     int publish_id,
312 					     const char *reason);
313 void wpas_dbus_signal_nan_subscribe_terminated(struct wpa_supplicant *wpa_s,
314 					       int subscribe_id,
315 					       const char *reason);
316 
317 #else /* CONFIG_CTRL_IFACE_DBUS_NEW */
318 
wpas_dbus_register_interface(struct wpa_supplicant * wpa_s)319 static inline int wpas_dbus_register_interface(struct wpa_supplicant *wpa_s)
320 {
321 	return 0;
322 }
323 
wpas_dbus_unregister_interface(struct wpa_supplicant * wpa_s)324 static inline int wpas_dbus_unregister_interface(struct wpa_supplicant *wpa_s)
325 {
326 	return 0;
327 }
328 
329 #define wpas_dbus_signal_state_changed(w, n, o) do { } while (0)
330 
wpas_dbus_signal_prop_changed(struct wpa_supplicant * wpa_s,enum wpas_dbus_prop property)331 static inline void wpas_dbus_signal_prop_changed(struct wpa_supplicant *wpa_s,
332 						 enum wpas_dbus_prop property)
333 {
334 }
335 
wpas_dbus_bss_signal_prop_changed(struct wpa_supplicant * wpa_s,enum wpas_dbus_bss_prop property,unsigned int id)336 static inline void wpas_dbus_bss_signal_prop_changed(
337 	struct wpa_supplicant *wpa_s, enum wpas_dbus_bss_prop property,
338 	unsigned int id)
339 {
340 }
341 
wpas_dbus_signal_network_enabled_changed(struct wpa_supplicant * wpa_s,struct wpa_ssid * ssid)342 static inline void wpas_dbus_signal_network_enabled_changed(
343 	struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
344 {
345 }
346 
wpas_dbus_signal_network_selected(struct wpa_supplicant * wpa_s,int id)347 static inline void wpas_dbus_signal_network_selected(
348 	struct wpa_supplicant *wpa_s, int id)
349 {
350 }
351 
wpas_dbus_signal_network_request(struct wpa_supplicant * wpa_s,struct wpa_ssid * ssid,enum wpa_ctrl_req_type rtype,const char * default_txt)352 static inline void wpas_dbus_signal_network_request(
353 	struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid,
354 	enum wpa_ctrl_req_type rtype, const char *default_txt)
355 {
356 }
357 
wpas_dbus_signal_scan_done(struct wpa_supplicant * wpa_s,int success)358 static inline void wpas_dbus_signal_scan_done(struct wpa_supplicant *wpa_s,
359 					      int success)
360 {
361 }
362 
wpas_dbus_signal_wps_cred(struct wpa_supplicant * wpa_s,const struct wps_credential * cred)363 static inline void wpas_dbus_signal_wps_cred(struct wpa_supplicant *wpa_s,
364 					     const struct wps_credential *cred)
365 {
366 }
367 
wpas_dbus_signal_wps_event_m2d(struct wpa_supplicant * wpa_s,struct wps_event_m2d * m2d)368 static inline void wpas_dbus_signal_wps_event_m2d(struct wpa_supplicant *wpa_s,
369 						  struct wps_event_m2d *m2d)
370 {
371 }
372 
wpas_dbus_signal_wps_event_fail(struct wpa_supplicant * wpa_s,struct wps_event_fail * fail)373 static inline void wpas_dbus_signal_wps_event_fail(
374 	struct wpa_supplicant *wpa_s, struct wps_event_fail *fail)
375 {
376 }
377 
wpas_dbus_signal_wps_event_success(struct wpa_supplicant * wpa_s)378 static inline void wpas_dbus_signal_wps_event_success(
379 	struct wpa_supplicant *wpa_s)
380 {
381 }
382 
wpas_dbus_signal_wps_event_pbc_overlap(struct wpa_supplicant * wpa_s)383 static inline void wpas_dbus_signal_wps_event_pbc_overlap(
384 	struct wpa_supplicant *wpa_s)
385 {
386 }
387 
wpas_dbus_register_network(struct wpa_supplicant * wpa_s,struct wpa_ssid * ssid)388 static inline int wpas_dbus_register_network(struct wpa_supplicant *wpa_s,
389 					     struct wpa_ssid *ssid)
390 {
391 	return 0;
392 }
393 
wpas_dbus_unregister_network(struct wpa_supplicant * wpa_s,int nid)394 static inline int wpas_dbus_unregister_network(struct wpa_supplicant *wpa_s,
395 					       int nid)
396 {
397 	return 0;
398 }
399 
wpas_dbus_unregister_bss(struct wpa_supplicant * wpa_s,u8 bssid[ETH_ALEN],unsigned int id)400 static inline int wpas_dbus_unregister_bss(struct wpa_supplicant *wpa_s,
401 					   u8 bssid[ETH_ALEN], unsigned int id)
402 {
403 	return 0;
404 }
405 
wpas_dbus_register_bss(struct wpa_supplicant * wpa_s,u8 bssid[ETH_ALEN],unsigned int id)406 static inline int wpas_dbus_register_bss(struct wpa_supplicant *wpa_s,
407 					 u8 bssid[ETH_ALEN], unsigned int id)
408 {
409 	return 0;
410 }
411 
wpas_dbus_unregister_sta(struct wpa_supplicant * wpa_s,const u8 * sta)412 static inline int wpas_dbus_unregister_sta(struct wpa_supplicant *wpa_s,
413 					   const u8 *sta)
414 {
415 	return 0;
416 }
417 
wpas_dbus_register_sta(struct wpa_supplicant * wpa_s,const u8 * sta)418 static inline int wpas_dbus_register_sta(struct wpa_supplicant *wpa_s,
419 					 const u8 *sta)
420 {
421 	return 0;
422 }
423 
wpas_dbus_signal_blob_added(struct wpa_supplicant * wpa_s,const char * name)424 static inline void wpas_dbus_signal_blob_added(struct wpa_supplicant *wpa_s,
425 					       const char *name)
426 {
427 }
428 
wpas_dbus_signal_blob_removed(struct wpa_supplicant * wpa_s,const char * name)429 static inline void wpas_dbus_signal_blob_removed(struct wpa_supplicant *wpa_s,
430 						 const char *name)
431 {
432 }
433 
wpas_dbus_signal_debug_level_changed(struct wpa_global * global)434 static inline void wpas_dbus_signal_debug_level_changed(
435 	struct wpa_global *global)
436 {
437 }
438 
wpas_dbus_signal_debug_timestamp_changed(struct wpa_global * global)439 static inline void wpas_dbus_signal_debug_timestamp_changed(
440 	struct wpa_global *global)
441 {
442 }
443 
wpas_dbus_signal_debug_show_keys_changed(struct wpa_global * global)444 static inline void wpas_dbus_signal_debug_show_keys_changed(
445 	struct wpa_global *global)
446 {
447 }
448 
wpas_dbus_register_peer(struct wpa_supplicant * wpa_s,const u8 * dev_addr)449 static inline int wpas_dbus_register_peer(struct wpa_supplicant *wpa_s,
450 					  const u8 *dev_addr)
451 {
452 	return 0;
453 }
454 
wpas_dbus_unregister_peer(struct wpa_supplicant * wpa_s,const u8 * dev_addr)455 static inline int wpas_dbus_unregister_peer(struct wpa_supplicant *wpa_s,
456 					    const u8 *dev_addr)
457 {
458 	return 0;
459 }
460 
461 static inline void
wpas_dbus_signal_peer_groups_changed(struct wpa_supplicant * wpa_s,const u8 * dev_addr)462 wpas_dbus_signal_peer_groups_changed(struct wpa_supplicant *wpa_s,
463 				     const u8 *dev_addr)
464 {
465 }
466 
467 static inline void
wpas_dbus_signal_p2p_group_removed(struct wpa_supplicant * wpa_s,const char * role)468 wpas_dbus_signal_p2p_group_removed(struct wpa_supplicant *wpa_s,
469 				   const char *role)
470 {
471 }
472 
473 static inline void
wpas_dbus_signal_p2p_provision_discovery(struct wpa_supplicant * wpa_s,const u8 * dev_addr,int request,enum p2p_prov_disc_status status,u16 config_methods,unsigned int generated_pin)474 wpas_dbus_signal_p2p_provision_discovery(struct wpa_supplicant *wpa_s,
475 					 const u8 *dev_addr, int request,
476 					 enum p2p_prov_disc_status status,
477 					 u16 config_methods,
478 					 unsigned int generated_pin)
479 {
480 }
481 
wpas_dbus_signal_p2p_go_neg_req(struct wpa_supplicant * wpa_s,const u8 * src,u16 dev_passwd_id,u8 go_intent)482 static inline void wpas_dbus_signal_p2p_go_neg_req(struct wpa_supplicant *wpa_s,
483 						   const u8 *src,
484 						   u16 dev_passwd_id,
485 						   u8 go_intent)
486 {
487 }
488 
489 static inline void
wpas_dbus_signal_p2p_group_started(struct wpa_supplicant * wpa_s,int client,int persistent,const u8 * ip)490 wpas_dbus_signal_p2p_group_started(struct wpa_supplicant *wpa_s,
491 				   int client, int persistent,
492 				   const u8 *ip)
493 {
494 }
495 
496 static inline void
wpas_dbus_signal_p2p_group_formation_failure(struct wpa_supplicant * wpa_s,const char * reason)497 wpas_dbus_signal_p2p_group_formation_failure(struct wpa_supplicant *wpa_s,
498 					     const char *reason)
499 {
500 }
501 
502 static inline void
wpas_dbus_register_p2p_group(struct wpa_supplicant * wpa_s,struct wpa_ssid * ssid)503 wpas_dbus_register_p2p_group(struct wpa_supplicant *wpa_s,
504 			     struct wpa_ssid *ssid)
505 {
506 }
507 
wpas_dbus_register_persistent_group(struct wpa_supplicant * wpa_s,struct wpa_ssid * ssid)508 static inline int wpas_dbus_register_persistent_group(
509 	struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
510 {
511 	return 0;
512 }
513 
wpas_dbus_unregister_persistent_group(struct wpa_supplicant * wpa_s,int nid)514 static inline int wpas_dbus_unregister_persistent_group(
515 	struct wpa_supplicant *wpa_s, int nid)
516 {
517 	return 0;
518 }
519 
520 static inline void
wpas_dbus_signal_p2p_go_neg_resp(struct wpa_supplicant * wpa_s,struct p2p_go_neg_results * res)521 wpas_dbus_signal_p2p_go_neg_resp(struct wpa_supplicant *wpa_s,
522 				 struct p2p_go_neg_results *res)
523 {
524 }
525 
526 static inline void
wpas_dbus_unregister_p2p_group(struct wpa_supplicant * wpa_s,const struct wpa_ssid * ssid)527 wpas_dbus_unregister_p2p_group(struct wpa_supplicant *wpa_s,
528 			       const struct wpa_ssid *ssid)
529 {
530 }
531 
wpas_dbus_signal_p2p_invitation_result(struct wpa_supplicant * wpa_s,int status,const u8 * bssid)532 static inline void wpas_dbus_signal_p2p_invitation_result(
533 				struct wpa_supplicant *wpa_s, int status,
534 				const u8 *bssid)
535 {
536 }
537 
538 static inline void
wpas_dbus_register_p2p_groupmember(struct wpa_supplicant * wpa_s,const u8 * p2p_if_addr)539 wpas_dbus_register_p2p_groupmember(struct wpa_supplicant *wpa_s,
540 				   const u8 *p2p_if_addr)
541 {
542 }
543 
544 static inline void
wpas_dbus_signal_p2p_sd_request(struct wpa_supplicant * wpa_s,int freq,const u8 * sa,u8 dialog_token,u16 update_indic,const u8 * tlvs,size_t tlvs_len)545 wpas_dbus_signal_p2p_sd_request(struct wpa_supplicant *wpa_s, int freq,
546 				const u8 *sa, u8 dialog_token, u16 update_indic,
547 				const u8 *tlvs, size_t tlvs_len)
548 {
549 }
550 
551 static inline void
wpas_dbus_signal_p2p_sd_response(struct wpa_supplicant * wpa_s,const u8 * sa,u16 update_indic,const u8 * tlvs,size_t tlvs_len)552 wpas_dbus_signal_p2p_sd_response(struct wpa_supplicant *wpa_s,
553 				 const u8 *sa, u16 update_indic,
554 				 const u8 *tlvs, size_t tlvs_len)
555 {
556 }
557 
558 static inline void
wpas_dbus_unregister_p2p_groupmember(struct wpa_supplicant * wpa_s,const u8 * p2p_if_addr)559 wpas_dbus_unregister_p2p_groupmember(struct wpa_supplicant *wpa_s,
560 				     const u8 *p2p_if_addr)
561 {
562 }
563 
564 static inline void
wpas_dbus_signal_p2p_peer_joined(struct wpa_supplicant * wpa_s,const u8 * member)565 wpas_dbus_signal_p2p_peer_joined(struct wpa_supplicant *wpa_s,
566 				 const u8 *member)
567 {
568 }
569 
570 static inline void
wpas_dbus_signal_p2p_find_stopped(struct wpa_supplicant * wpa_s)571 wpas_dbus_signal_p2p_find_stopped(struct wpa_supplicant *wpa_s)
572 {
573 }
574 
575 static inline void
wpas_dbus_signal_peer_device_found(struct wpa_supplicant * wpa_s,const u8 * dev_addr)576 wpas_dbus_signal_peer_device_found(struct wpa_supplicant *wpa_s,
577 				   const u8 *dev_addr)
578 {
579 }
580 
581 static inline void
wpas_dbus_signal_peer_device_lost(struct wpa_supplicant * wpa_s,const u8 * dev_addr)582 wpas_dbus_signal_peer_device_lost(struct wpa_supplicant *wpa_s,
583 				  const u8 *dev_addr)
584 {
585 }
586 
587 static inline void
wpas_dbus_signal_p2p_peer_disconnected(struct wpa_supplicant * wpa_s,const u8 * member)588 wpas_dbus_signal_p2p_peer_disconnected(struct wpa_supplicant *wpa_s,
589 				       const u8 *member)
590 {
591 }
592 
593 static inline void
wpas_dbus_signal_p2p_wps_failed(struct wpa_supplicant * wpa_s,struct wps_event_fail * fail)594 wpas_dbus_signal_p2p_wps_failed(struct wpa_supplicant *wpa_s,
595 				struct wps_event_fail *fail)
596 {
597 }
598 
wpas_dbus_signal_certification(struct wpa_supplicant * wpa_s,int depth,const char * subject,const char * altsubject[],int num_altsubject,const char * cert_hash,const struct wpabuf * cert)599 static inline void wpas_dbus_signal_certification(struct wpa_supplicant *wpa_s,
600 						  int depth,
601 						  const char *subject,
602 						  const char *altsubject[],
603 						  int num_altsubject,
604 						  const char *cert_hash,
605 						  const struct wpabuf *cert)
606 {
607 }
608 
wpas_dbus_signal_preq(struct wpa_supplicant * wpa_s,const u8 * addr,const u8 * dst,const u8 * bssid,const u8 * ie,size_t ie_len,u32 ssi_signal)609 static inline void wpas_dbus_signal_preq(struct wpa_supplicant *wpa_s,
610 					 const u8 *addr, const u8 *dst,
611 					 const u8 *bssid,
612 					 const u8 *ie, size_t ie_len,
613 					 u32 ssi_signal)
614 {
615 }
616 
wpas_dbus_signal_eap_status(struct wpa_supplicant * wpa_s,const char * status,const char * parameter)617 static inline void wpas_dbus_signal_eap_status(struct wpa_supplicant *wpa_s,
618 					       const char *status,
619 					       const char *parameter)
620 {
621 }
622 
wpas_dbus_signal_psk_mismatch(struct wpa_supplicant * wpa_s)623 static inline void wpas_dbus_signal_psk_mismatch(struct wpa_supplicant *wpa_s)
624 {
625 }
626 
627 static inline
wpas_dbus_signal_sta_authorized(struct wpa_supplicant * wpa_s,const u8 * sta)628 void wpas_dbus_signal_sta_authorized(struct wpa_supplicant *wpa_s,
629 				     const u8 *sta)
630 {
631 }
632 
633 static inline
wpas_dbus_signal_sta_deauthorized(struct wpa_supplicant * wpa_s,const u8 * sta)634 void wpas_dbus_signal_sta_deauthorized(struct wpa_supplicant *wpa_s,
635 				       const u8 *sta)
636 {
637 }
638 
639 static inline
wpas_dbus_signal_p2p_invitation_received(struct wpa_supplicant * wpa_s,const u8 * sa,const u8 * dev_addr,const u8 * bssid,int id,int op_freq)640 void wpas_dbus_signal_p2p_invitation_received(struct wpa_supplicant *wpa_s,
641 					      const u8 *sa, const u8 *dev_addr,
642 					      const u8 *bssid, int id,
643 					      int op_freq)
644 {
645 }
646 
647 static inline
wpas_dbus_signal_p2p_bootstrap_req(struct wpa_supplicant * wpa_s,const u8 * src,u16 bootstrap_method)648 void wpas_dbus_signal_p2p_bootstrap_req(struct wpa_supplicant *wpa_s,
649 					const u8 *src, u16 bootstrap_method)
650 {
651 }
652 
653 static inline
wpas_dbus_signal_p2p_bootstrap_rsp(struct wpa_supplicant * wpa_s,const u8 * src,int status,u16 bootstrap_method)654 void wpas_dbus_signal_p2p_bootstrap_rsp(struct wpa_supplicant *wpa_s,
655 					const u8 *src, int status,
656 					u16 bootstrap_method)
657 {
658 }
659 
660 static inline
wpas_dbus_signal_mesh_group_started(struct wpa_supplicant * wpa_s,struct wpa_ssid * ssid)661 void wpas_dbus_signal_mesh_group_started(struct wpa_supplicant *wpa_s,
662 					 struct wpa_ssid *ssid)
663 {
664 }
665 
666 static inline
wpas_dbus_signal_mesh_group_removed(struct wpa_supplicant * wpa_s,const u8 * meshid,u8 meshid_len,int reason)667 void wpas_dbus_signal_mesh_group_removed(struct wpa_supplicant *wpa_s,
668 					 const u8 *meshid, u8 meshid_len,
669 					 int reason)
670 {
671 }
672 
673 static inline
wpas_dbus_signal_mesh_peer_connected(struct wpa_supplicant * wpa_s,const u8 * peer_addr)674 void wpas_dbus_signal_mesh_peer_connected(struct wpa_supplicant *wpa_s,
675 					  const u8 *peer_addr)
676 {
677 }
678 
679 static inline
wpas_dbus_signal_mesh_peer_disconnected(struct wpa_supplicant * wpa_s,const u8 * peer_addr,int reason)680 void wpas_dbus_signal_mesh_peer_disconnected(struct wpa_supplicant *wpa_s,
681 					     const u8 *peer_addr, int reason)
682 {
683 }
684 
685 static inline
wpas_dbus_signal_interworking_ap_added(struct wpa_supplicant * wpa_s,struct wpa_bss * bss,struct wpa_cred * cred,const char * type,int excluded,int bh,int bss_load,int conn_capab)686 void wpas_dbus_signal_interworking_ap_added(struct wpa_supplicant *wpa_s,
687 					    struct wpa_bss *bss,
688 					    struct wpa_cred *cred,
689 					    const char *type, int excluded,
690 					    int bh, int bss_load,
691 					    int conn_capab)
692 {
693 }
694 
695 static inline
wpas_dbus_signal_interworking_select_done(struct wpa_supplicant * wpa_s)696 void wpas_dbus_signal_interworking_select_done(struct wpa_supplicant *wpa_s)
697 {
698 }
699 
700 static inline
wpas_dbus_signal_anqp_query_done(struct wpa_supplicant * wpa_s,const u8 * dst,const char * result)701 void wpas_dbus_signal_anqp_query_done(struct wpa_supplicant *wpa_s,
702 				      const u8 *dst, const char *result)
703 {
704 }
705 
706 static inline
wpas_dbus_signal_hs20_t_c_acceptance(struct wpa_supplicant * wpa_s,const char * url)707 void wpas_dbus_signal_hs20_t_c_acceptance(struct wpa_supplicant *wpa_s,
708 					  const char *url)
709 {
710 }
711 
712 static inline void
wpas_dbus_signal_nan_discovery_result(struct wpa_supplicant * wpa_s,enum nan_service_protocol_type srv_proto_type,int subscribe_id,int peer_publish_id,const u8 * peer_addr,bool fsd,bool fsd_gas,const u8 * ssi,size_t ssi_len)713 wpas_dbus_signal_nan_discovery_result(struct wpa_supplicant *wpa_s,
714 				      enum nan_service_protocol_type
715 				      srv_proto_type,
716 				      int subscribe_id,
717 				      int peer_publish_id, const u8 *peer_addr,
718 				      bool fsd, bool fsd_gas,
719 				      const u8 *ssi, size_t ssi_len)
720 {
721 }
722 
723 static inline void
wpas_dbus_signal_nan_replied(struct wpa_supplicant * wpa_s,enum nan_service_protocol_type srv_proto_type,int publish_id,int peer_subscribe_id,const u8 * peer_addr,const u8 * ssi,size_t ssi_len)724 wpas_dbus_signal_nan_replied(struct wpa_supplicant *wpa_s,
725 			     enum nan_service_protocol_type srv_proto_type,
726 			     int publish_id, int peer_subscribe_id,
727 			     const u8 *peer_addr, const u8 *ssi, size_t ssi_len)
728 {
729 }
730 
731 
732 static inline void
wpas_dbus_signal_nan_receive(struct wpa_supplicant * wpa_s,int id,int peer_id,const u8 * peer_addr,const u8 * ssi,size_t ssi_len)733 wpas_dbus_signal_nan_receive(struct wpa_supplicant *wpa_s,
734 			     int id, int peer_id, const u8 *peer_addr,
735 			     const u8 *ssi, size_t ssi_len)
736 {
737 }
738 
739 static inline void
wpas_dbus_signal_nan_publish_terminated(struct wpa_supplicant * wpa_s,int publish_id,const char * reason)740 wpas_dbus_signal_nan_publish_terminated(struct wpa_supplicant *wpa_s,
741 					int publish_id, const char *reason)
742 {
743 }
744 
745 static inline void
wpas_dbus_signal_nan_subscribe_terminated(struct wpa_supplicant * wpa_s,int subscribe_id,const char * reason)746 wpas_dbus_signal_nan_subscribe_terminated(struct wpa_supplicant *wpa_s,
747 					  int subscribe_id, const char *reason)
748 {
749 }
750 
751 #endif /* CONFIG_CTRL_IFACE_DBUS_NEW */
752 
753 #endif /* CTRL_IFACE_DBUS_H_NEW */
754