Lines Matching +full:signal +full:- +full:id

2  * WPA Supplicant / dbus-based control interface
4 * Copyright (c) 2009-2010, Witold Sowa <witold.sowa@gmail.com>
36 * a signal that it needs. While it can also unregister, we must
39 * DBus is to register for the NameOwnerChanged signal which will
40 * signal an owner change to NULL if the peer closes the socket
43 * Handle this signal via a filter function whenever necessary.
79 for (wpa_s = priv->global->ifaces; wpa_s; wpa_s = wpa_s->next) { in noc_filter()
80 if (wpa_s->preq_notify_peer != NULL && in noc_filter()
81 os_strcmp(name, wpa_s->preq_notify_peer) == 0 && in noc_filter()
84 os_free(wpa_s->preq_notify_peer); in noc_filter()
85 wpa_s->preq_notify_peer = NULL; in noc_filter()
97 priv->dbus_noc_refcnt++; in wpas_dbus_subscribe_noc()
98 if (priv->dbus_noc_refcnt > 1) in wpas_dbus_subscribe_noc()
101 if (!dbus_connection_add_filter(priv->con, noc_filter, priv, NULL)) { in wpas_dbus_subscribe_noc()
106 dbus_bus_add_match(priv->con, wpas_dbus_noc_filter_str, NULL); in wpas_dbus_subscribe_noc()
112 priv->dbus_noc_refcnt--; in wpas_dbus_unsubscribe_noc()
113 if (priv->dbus_noc_refcnt > 0) in wpas_dbus_unsubscribe_noc()
116 dbus_bus_remove_match(priv->con, wpas_dbus_noc_filter_str, NULL); in wpas_dbus_unsubscribe_noc()
117 dbus_connection_remove_filter(priv->con, noc_filter, priv); in wpas_dbus_unsubscribe_noc()
124 * wpas_dbus_signal_interface - Send a interface related event signal
126 * @sig_name: signal name - InterfaceAdded or InterfaceRemoved
139 iface = wpa_s->global->dbus; in wpas_dbus_signal_interface()
142 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_interface()
152 &wpa_s->dbus_new_path) || in wpas_dbus_signal_interface()
155 iface, wpa_s->dbus_new_path, in wpas_dbus_signal_interface()
157 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_interface()
159 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_interface()
165 * wpas_dbus_signal_interface_added - Send a interface created signal
177 * wpas_dbus_signal_interface_removed - Send a interface removed signal
190 * wpas_dbus_signal_scan_done - send scan done signal
202 iface = wpa_s->global->dbus; in wpas_dbus_signal_scan_done()
205 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_scan_done()
208 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_scan_done()
217 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_scan_done()
219 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_scan_done()
225 * wpas_dbus_signal_bss - Send a BSS related event signal
228 * @sig_name: signal name - BSSAdded or BSSRemoved
241 iface = wpa_s->global->dbus; in wpas_dbus_signal_bss()
244 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_bss()
247 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_bss()
260 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_bss()
262 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_bss()
268 * wpas_dbus_signal_bss_added - Send a BSS added signal
282 * wpas_dbus_signal_bss_removed - Send a BSS removed signal
296 * wpas_dbus_signal_blob - Send a blob related event signal
299 * @sig_name: signal name - BlobAdded or BlobRemoved
309 iface = wpa_s->global->dbus; in wpas_dbus_signal_blob()
312 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_blob()
315 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_blob()
323 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_blob()
325 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_blob()
331 * wpas_dbus_signal_blob_added - Send a blob added signal
345 * wpas_dbus_signal_blob_removed - Send a blob removed signal
359 * wpas_dbus_signal_network - Send a network related event signal
361 * @id: new network id
362 * @sig_name: signal name - NetworkAdded, NetworkRemoved or NetworkSelected
368 int id, const char *sig_name, in wpas_dbus_signal_network() argument
376 iface = wpa_s->global->dbus; in wpas_dbus_signal_network()
379 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_network()
384 wpa_s->dbus_new_path, id); in wpas_dbus_signal_network()
386 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_network()
400 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_network()
402 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_network()
408 * wpas_dbus_signal_network_added - Send a network added signal
410 * @id: new network id
415 int id) in wpas_dbus_signal_network_added() argument
417 wpas_dbus_signal_network(wpa_s, id, "NetworkAdded", TRUE); in wpas_dbus_signal_network_added()
422 * wpas_dbus_signal_network_removed - Send a network removed signal
424 * @id: network id
429 int id) in wpas_dbus_signal_network_removed() argument
431 wpas_dbus_signal_network(wpa_s, id, "NetworkRemoved", FALSE); in wpas_dbus_signal_network_removed()
436 * wpas_dbus_signal_network_selected - Send a network selected signal
438 * @id: network id
442 void wpas_dbus_signal_network_selected(struct wpa_supplicant *wpa_s, int id) in wpas_dbus_signal_network_selected() argument
444 wpas_dbus_signal_network(wpa_s, id, "NetworkSelected", FALSE); in wpas_dbus_signal_network_selected()
449 * wpas_dbus_signal_network_request - Indicate that additional information
469 iface = wpa_s->global->dbus; in wpas_dbus_signal_network_request()
472 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_network_request()
479 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_network_request()
487 wpa_s->dbus_new_path, ssid->id); in wpas_dbus_signal_network_request()
495 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_network_request()
497 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_network_request()
503 * wpas_dbus_signal_network_enabled_changed - Signals Enabled property changes
516 if (!wpa_s->dbus_new_path) in wpas_dbus_signal_network_enabled_changed()
520 wpa_s->dbus_new_path, ssid->id); in wpas_dbus_signal_network_enabled_changed()
522 wpa_dbus_mark_property_changed(wpa_s->global->dbus, path, in wpas_dbus_signal_network_enabled_changed()
530 * wpas_dbus_signal_wps_event_pbc_overlap - Signals PBC overlap WPS event
533 * Sends Event dbus signal with name "pbc-overlap" and empty dict as arguments
541 char *key = "pbc-overlap"; in wpas_dbus_signal_wps_event_pbc_overlap()
543 iface = wpa_s->global->dbus; in wpas_dbus_signal_wps_event_pbc_overlap()
546 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_wps_event_pbc_overlap()
549 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_wps_event_pbc_overlap()
559 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_wps_event_pbc_overlap()
561 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_wps_event_pbc_overlap()
568 * wpas_dbus_signal_wps_event_success - Signals Success WPS event
571 * Sends Event dbus signal with name "success" and empty dict as arguments
581 iface = wpa_s->global->dbus; in wpas_dbus_signal_wps_event_success()
584 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_wps_event_success()
587 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_wps_event_success()
597 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_wps_event_success()
599 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_wps_event_success()
606 * wpas_dbus_signal_wps_event_fail - Signals Fail WPS event
610 * Sends Event dbus signal with name "fail" and dictionary containing
622 iface = wpa_s->global->dbus; in wpas_dbus_signal_wps_event_fail()
625 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_wps_event_fail()
628 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_wps_event_fail()
637 !wpa_dbus_dict_append_int32(&dict_iter, "msg", fail->msg) || in wpas_dbus_signal_wps_event_fail()
639 fail->config_error) || in wpas_dbus_signal_wps_event_fail()
641 fail->error_indication) || in wpas_dbus_signal_wps_event_fail()
643 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_wps_event_fail()
645 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_wps_event_fail()
652 * wpas_dbus_signal_wps_event_m2d - Signals M2D WPS event
656 * Sends Event dbus signal with name "m2d" and dictionary containing
668 iface = wpa_s->global->dbus; in wpas_dbus_signal_wps_event_m2d()
671 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_wps_event_m2d()
674 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_wps_event_m2d()
684 m2d->config_methods) || in wpas_dbus_signal_wps_event_m2d()
686 (const char *) m2d->manufacturer, in wpas_dbus_signal_wps_event_m2d()
687 m2d->manufacturer_len) || in wpas_dbus_signal_wps_event_m2d()
689 (const char *) m2d->model_name, in wpas_dbus_signal_wps_event_m2d()
690 m2d->model_name_len) || in wpas_dbus_signal_wps_event_m2d()
692 (const char *) m2d->model_number, in wpas_dbus_signal_wps_event_m2d()
693 m2d->model_number_len) || in wpas_dbus_signal_wps_event_m2d()
696 m2d->serial_number, in wpas_dbus_signal_wps_event_m2d()
697 m2d->serial_number_len) || in wpas_dbus_signal_wps_event_m2d()
699 (const char *) m2d->dev_name, in wpas_dbus_signal_wps_event_m2d()
700 m2d->dev_name_len) || in wpas_dbus_signal_wps_event_m2d()
703 m2d->primary_dev_type, 8) || in wpas_dbus_signal_wps_event_m2d()
705 m2d->config_error) || in wpas_dbus_signal_wps_event_m2d()
707 m2d->dev_password_id) || in wpas_dbus_signal_wps_event_m2d()
709 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_wps_event_m2d()
711 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_wps_event_m2d()
718 * wpas_dbus_signal_wps_cred - Signals new credentials
722 * Sends signal with credentials in directory argument
735 iface = wpa_s->global->dbus; in wpas_dbus_signal_wps_cred()
738 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_wps_cred()
741 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_wps_cred()
751 if (cred->auth_type & WPS_AUTH_OPEN) in wpas_dbus_signal_wps_cred()
754 if (cred->auth_type & WPS_AUTH_WPAPSK) in wpas_dbus_signal_wps_cred()
755 auth_type[at_num++] = "wpa-psk"; in wpas_dbus_signal_wps_cred()
756 if (cred->auth_type & WPS_AUTH_WPA) in wpas_dbus_signal_wps_cred()
757 auth_type[at_num++] = "wpa-eap"; in wpas_dbus_signal_wps_cred()
759 if (cred->auth_type & WPS_AUTH_WPA2) in wpas_dbus_signal_wps_cred()
760 auth_type[at_num++] = "wpa2-eap"; in wpas_dbus_signal_wps_cred()
761 if (cred->auth_type & WPS_AUTH_WPA2PSK) in wpas_dbus_signal_wps_cred()
762 auth_type[at_num++] = "wpa2-psk"; in wpas_dbus_signal_wps_cred()
764 if (cred->encr_type & WPS_ENCR_NONE) in wpas_dbus_signal_wps_cred()
767 if (cred->encr_type & WPS_ENCR_TKIP) in wpas_dbus_signal_wps_cred()
770 if (cred->encr_type & WPS_ENCR_AES) in wpas_dbus_signal_wps_cred()
773 if ((wpa_s->current_ssid && in wpas_dbus_signal_wps_cred()
776 (const char *) wpa_s->current_ssid->bssid, ETH_ALEN)) || in wpas_dbus_signal_wps_cred()
778 (const char *) cred->ssid, in wpas_dbus_signal_wps_cred()
779 cred->ssid_len) || in wpas_dbus_signal_wps_cred()
787 (const char *) cred->key, in wpas_dbus_signal_wps_cred()
788 cred->key_len) || in wpas_dbus_signal_wps_cred()
790 cred->key_idx) || in wpas_dbus_signal_wps_cred()
794 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_wps_cred()
812 iface = wpa_s->global->dbus; in wpas_dbus_signal_mesh_group_started()
815 if (!iface || !wpa_s->dbus_new_path) in wpas_dbus_signal_mesh_group_started()
818 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_mesh_group_started()
827 (const char *) ssid->ssid, in wpas_dbus_signal_mesh_group_started()
828 ssid->ssid_len) || in wpas_dbus_signal_mesh_group_started()
830 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_mesh_group_started()
832 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_mesh_group_started()
845 iface = wpa_s->global->dbus; in wpas_dbus_signal_mesh_group_removed()
848 if (!iface || !wpa_s->dbus_new_path) in wpas_dbus_signal_mesh_group_removed()
851 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_mesh_group_removed()
865 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_mesh_group_removed()
867 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_mesh_group_removed()
879 iface = wpa_s->global->dbus; in wpas_dbus_signal_mesh_peer_connected()
882 if (!iface || !wpa_s->dbus_new_path) in wpas_dbus_signal_mesh_peer_connected()
885 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_mesh_peer_connected()
897 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_mesh_peer_connected()
899 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_mesh_peer_connected()
911 iface = wpa_s->global->dbus; in wpas_dbus_signal_mesh_peer_disconnected()
914 if (!iface || !wpa_s->dbus_new_path) in wpas_dbus_signal_mesh_peer_disconnected()
917 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_mesh_peer_disconnected()
931 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_mesh_peer_disconnected()
933 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_mesh_peer_disconnected()
957 iface = wpa_s->global->dbus; in wpas_dbus_signal_interworking_ap_added()
960 if (!iface || !wpa_s->dbus_new_path) in wpas_dbus_signal_interworking_ap_added()
963 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_interworking_ap_added()
971 wpa_s->dbus_new_path, bss->id); in wpas_dbus_signal_interworking_ap_added()
976 wpa_s->dbus_new_path, cred->id); in wpas_dbus_signal_interworking_ap_added()
988 cred->priority) || in wpas_dbus_signal_interworking_ap_added()
990 cred->sp_priority) || in wpas_dbus_signal_interworking_ap_added()
997 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_interworking_ap_added()
999 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_interworking_ap_added()
1009 iface = wpa_s->global->dbus; in wpas_dbus_signal_interworking_select_done()
1012 if (!iface || !wpa_s->dbus_new_path) in wpas_dbus_signal_interworking_select_done()
1015 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_interworking_select_done()
1021 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_interworking_select_done()
1038 iface = wpa_s->global->dbus; in wpas_dbus_signal_anqp_query_done()
1041 if (!iface || !wpa_s->dbus_new_path) in wpas_dbus_signal_anqp_query_done()
1044 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_anqp_query_done()
1054 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_anqp_query_done()
1056 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_anqp_query_done()
1074 iface = wpa_s->global->dbus; in wpas_dbus_signal_certification()
1077 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_certification()
1080 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_certification()
1101 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_certification()
1103 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_certification()
1115 iface = wpa_s->global->dbus; in wpas_dbus_signal_eap_status()
1118 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_eap_status()
1121 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_eap_status()
1132 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_eap_status()
1134 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_eap_status()
1144 iface = wpa_s->global->dbus; in wpas_dbus_signal_psk_mismatch()
1147 if (!iface || !wpa_s->dbus_new_path) in wpas_dbus_signal_psk_mismatch()
1150 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_psk_mismatch()
1156 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_psk_mismatch()
1163 * wpas_dbus_signal_sta - Send a station related event signal
1166 * @sig_name: signal name - StaAuthorized or StaDeauthorized
1181 iface = wpa_s->global->dbus; in wpas_dbus_signal_sta()
1184 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_sta()
1187 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_sta()
1194 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_sta()
1196 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_sta()
1205 * wpas_dbus_signal_sta_authorized - Send a STA authorized signal
1219 * wpas_dbus_signal_sta_deauthorized - Send a STA deauthorized signal
1233 * wpas_dbus_signal_station - Send an event signal related to a station object
1236 * @sig_name: signal name - StationAdded or StationRemoved
1250 iface = wpa_s->global->dbus; in wpas_dbus_signal_station()
1253 if (!iface || !wpa_s->dbus_new_path) in wpas_dbus_signal_station()
1256 wpa_printf(MSG_DEBUG, "dbus: STA signal %s", sig_name); in wpas_dbus_signal_station()
1257 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_station()
1269 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_station()
1271 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_station()
1277 * wpas_dbus_signal_station_added - Send a Station added signal
1291 * wpas_dbus_signal_station_removed - Send a Station removed signal
1308 * wpas_dbus_signal_p2p_group_removed - Signals P2P group was removed
1311 * Sends signal with i/f name and role as string arguments
1318 struct wpas_dbus_priv *iface = wpa_s->global->dbus; in wpas_dbus_signal_p2p_group_removed()
1325 parent = wpa_s->parent; in wpas_dbus_signal_p2p_group_removed()
1326 if (parent->p2p_mgmt) in wpas_dbus_signal_p2p_group_removed()
1327 parent = parent->parent; in wpas_dbus_signal_p2p_group_removed()
1329 if (!wpa_s->dbus_groupobj_path || !wpa_s->dbus_new_path || in wpas_dbus_signal_p2p_group_removed()
1330 !parent->dbus_new_path) in wpas_dbus_signal_p2p_group_removed()
1333 msg = dbus_message_new_signal(parent->dbus_new_path, in wpas_dbus_signal_p2p_group_removed()
1343 wpa_s->dbus_new_path) || in wpas_dbus_signal_p2p_group_removed()
1346 wpa_s->dbus_groupobj_path) || in wpas_dbus_signal_p2p_group_removed()
1348 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_p2p_group_removed()
1350 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_p2p_group_removed()
1356 * wpas_dbus_signal_p2p_provision_discovery - Signals various PD events
1358 * @dev_addr - who sent the request or responded to our request.
1359 * @request - Will be 1 if request, 0 for response.
1360 * @status - valid only in case of response
1361 * @config_methods - wps config methods
1362 * @generated_pin - pin to be displayed in case of WPS_CONFIG_DISPLAY method
1390 iface = wpa_s->global->dbus; in wpas_dbus_signal_p2p_provision_discovery()
1396 if (wpa_s->p2p_mgmt) in wpas_dbus_signal_p2p_provision_discovery()
1397 wpa_s = wpa_s->parent; in wpas_dbus_signal_p2p_provision_discovery()
1398 if (!wpa_s->dbus_new_path) in wpas_dbus_signal_p2p_provision_discovery()
1414 return; /* Unknown or un-supported method */ in wpas_dbus_signal_p2p_provision_discovery()
1429 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_p2p_provision_discovery()
1435 if (!p2p_peer_known(wpa_s->global->p2p, dev_addr)) in wpas_dbus_signal_p2p_provision_discovery()
1441 wpa_s->dbus_new_path, MAC2STR(dev_addr)); in wpas_dbus_signal_p2p_provision_discovery()
1465 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_p2p_provision_discovery()
1467 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_p2p_provision_discovery()
1474 * wpas_dbus_signal_p2p_go_neg_req - Signal P2P GO Negotiation Request RX
1477 * @dev_passwd_id: WPS Device Password Id
1480 * Sends signal to notify that a peer P2P Device is requesting group owner
1492 iface = wpa_s->global->dbus; in wpas_dbus_signal_p2p_go_neg_req()
1498 if (wpa_s->p2p_mgmt) in wpas_dbus_signal_p2p_go_neg_req()
1499 wpa_s = wpa_s->parent; in wpas_dbus_signal_p2p_go_neg_req()
1500 if (!wpa_s->dbus_new_path) in wpas_dbus_signal_p2p_go_neg_req()
1505 wpa_s->dbus_new_path, MAC2STR(src)); in wpas_dbus_signal_p2p_go_neg_req()
1508 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_p2p_go_neg_req()
1522 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_p2p_go_neg_req()
1524 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_p2p_go_neg_req()
1536 if (!wpa_s->dbus_new_path || in wpas_dbus_get_group_obj_path()
1537 os_memcmp(ssid->ssid, P2P_WILDCARD_SSID, P2P_WILDCARD_SSID_LEN)) in wpas_dbus_get_group_obj_path()
1538 return -1; in wpas_dbus_get_group_obj_path()
1540 os_memcpy(group_name, ssid->ssid + P2P_WILDCARD_SSID_LEN, 2); in wpas_dbus_get_group_obj_path()
1545 wpa_s->dbus_new_path, group_name); in wpas_dbus_get_group_obj_path()
1564 if (!p2p_group_is_client_connected(group, data->info->p2p_device_addr)) in match_group_where_peer_is_client()
1569 wpa_s_go = wpas_get_p2p_go_iface(data->wpa_s, cfg->ssid, in match_group_where_peer_is_client()
1570 cfg->ssid_len); in match_group_where_peer_is_client()
1571 if (wpa_s_go != NULL && wpa_s_go == data->wpa_s) { in match_group_where_peer_is_client()
1573 data->wpa_s->p2pdev, data->info->p2p_device_addr); in match_group_where_peer_is_client()
1587 wpa_s_go = wpas_get_p2p_client_iface(data->wpa_s, in signal_peer_groups_changed()
1588 info->p2p_device_addr); in signal_peer_groups_changed()
1589 if (wpa_s_go != NULL && wpa_s_go == data->wpa_s) { in signal_peer_groups_changed()
1590 wpas_dbus_signal_peer_groups_changed(data->wpa_s->p2pdev, in signal_peer_groups_changed()
1591 info->p2p_device_addr); in signal_peer_groups_changed()
1595 data->info = info; in signal_peer_groups_changed()
1596 p2p_loop_on_all_groups(data->wpa_s->global->p2p, in signal_peer_groups_changed()
1598 data->info = NULL; in signal_peer_groups_changed()
1609 p2p_loop_on_known_peers(wpa_s->global->p2p, in peer_groups_changed()
1615 * wpas_dbus_signal_p2p_group_started - Signals P2P group has
1621 * @persistent: 0 - non persistent group, 1 - persistent group
1634 parent = wpa_s->parent; in wpas_dbus_signal_p2p_group_started()
1635 if (parent->p2p_mgmt) in wpas_dbus_signal_p2p_group_started()
1636 parent = parent->parent; in wpas_dbus_signal_p2p_group_started()
1638 iface = parent->global->dbus; in wpas_dbus_signal_p2p_group_started()
1641 if (iface == NULL || !parent->dbus_new_path || !wpa_s->dbus_new_path) in wpas_dbus_signal_p2p_group_started()
1644 if (wpa_s->dbus_groupobj_path == NULL) in wpas_dbus_signal_p2p_group_started()
1648 msg = dbus_message_new_signal(parent->dbus_new_path, in wpas_dbus_signal_p2p_group_started()
1663 wpa_s->dbus_new_path) || in wpas_dbus_signal_p2p_group_started()
1669 wpa_s->dbus_groupobj_path) || in wpas_dbus_signal_p2p_group_started()
1678 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_p2p_group_started()
1680 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_p2p_group_started()
1689 * wpas_dbus_signal_p2p_go_neg_resp - Emit GONegotiation Success/Failure signal
1705 iface = wpa_s->global->dbus; in wpas_dbus_signal_p2p_go_neg_resp()
1707 if (wpa_s->p2p_mgmt) in wpas_dbus_signal_p2p_go_neg_resp()
1708 wpa_s = wpa_s->parent; in wpas_dbus_signal_p2p_go_neg_resp()
1712 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_p2p_go_neg_resp()
1717 wpa_s->dbus_new_path, MAC2STR(res->peer_device_addr)); in wpas_dbus_signal_p2p_go_neg_resp()
1720 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_p2p_go_neg_resp()
1722 res->status ? "GONegotiationFailure" : in wpas_dbus_signal_p2p_go_neg_resp()
1731 !wpa_dbus_dict_append_int32(&dict_iter, "status", res->status)) in wpas_dbus_signal_p2p_go_neg_resp()
1734 if (!res->status) { in wpas_dbus_signal_p2p_go_neg_resp()
1738 if ((res->role_go && in wpas_dbus_signal_p2p_go_neg_resp()
1740 res->passphrase)) || in wpas_dbus_signal_p2p_go_neg_resp()
1742 res->role_go ? "GO" : in wpas_dbus_signal_p2p_go_neg_resp()
1745 res->freq) || in wpas_dbus_signal_p2p_go_neg_resp()
1747 (const char *) res->ssid, in wpas_dbus_signal_p2p_go_neg_resp()
1748 res->ssid_len) || in wpas_dbus_signal_p2p_go_neg_resp()
1752 res->peer_device_addr, in wpas_dbus_signal_p2p_go_neg_resp()
1757 res->peer_interface_addr, in wpas_dbus_signal_p2p_go_neg_resp()
1761 res->wps_method))) in wpas_dbus_signal_p2p_go_neg_resp()
1765 if (res->freq_list[i]) { in wpas_dbus_signal_p2p_go_neg_resp()
1766 freqs[i] = res->freq_list[i]; in wpas_dbus_signal_p2p_go_neg_resp()
1786 res->persistent_group) || in wpas_dbus_signal_p2p_go_neg_resp()
1789 res->peer_config_timeout)) in wpas_dbus_signal_p2p_go_neg_resp()
1796 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_p2p_go_neg_resp()
1803 * wpas_dbus_signal_p2p_invitation_result - Emit InvitationResult signal
1817 iface = wpa_s->global->dbus; in wpas_dbus_signal_p2p_invitation_result()
1822 if (wpa_s->p2p_mgmt) in wpas_dbus_signal_p2p_invitation_result()
1823 wpa_s = wpa_s->parent; in wpas_dbus_signal_p2p_invitation_result()
1824 if (!wpa_s->dbus_new_path) in wpas_dbus_signal_p2p_invitation_result()
1827 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_p2p_invitation_result()
1842 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_p2p_invitation_result()
1844 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_p2p_invitation_result()
1851 * Method to emit a signal for a peer joining the group.
1852 * The signal will carry path to the group member object
1867 iface = wpa_s->global->dbus; in wpas_dbus_signal_p2p_peer_joined()
1873 if (!wpa_s->dbus_groupobj_path) in wpas_dbus_signal_p2p_peer_joined()
1876 parent = wpa_s->parent; in wpas_dbus_signal_p2p_peer_joined()
1877 if (parent->p2p_mgmt) in wpas_dbus_signal_p2p_peer_joined()
1878 parent = parent->parent; in wpas_dbus_signal_p2p_peer_joined()
1879 if (!parent->dbus_new_path) in wpas_dbus_signal_p2p_peer_joined()
1885 parent->dbus_new_path, MAC2STR(peer_addr)); in wpas_dbus_signal_p2p_peer_joined()
1887 msg = dbus_message_new_signal(wpa_s->dbus_groupobj_path, in wpas_dbus_signal_p2p_peer_joined()
1897 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_p2p_peer_joined()
1899 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_p2p_peer_joined()
1908 * Method to emit a signal for a peer disconnecting the group.
1909 * The signal will carry path to the group member object
1924 iface = wpa_s->global->dbus; in wpas_dbus_signal_p2p_peer_disconnected()
1930 if (!wpa_s->dbus_groupobj_path) in wpas_dbus_signal_p2p_peer_disconnected()
1933 parent = wpa_s->parent; in wpas_dbus_signal_p2p_peer_disconnected()
1934 if (parent->p2p_mgmt) in wpas_dbus_signal_p2p_peer_disconnected()
1935 parent = parent->parent; in wpas_dbus_signal_p2p_peer_disconnected()
1936 if (!parent->dbus_new_path) in wpas_dbus_signal_p2p_peer_disconnected()
1942 parent->dbus_new_path, MAC2STR(peer_addr)); in wpas_dbus_signal_p2p_peer_disconnected()
1944 msg = dbus_message_new_signal(wpa_s->dbus_groupobj_path, in wpas_dbus_signal_p2p_peer_disconnected()
1955 "dbus: Failed to construct PeerDisconnected signal"); in wpas_dbus_signal_p2p_peer_disconnected()
1957 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_p2p_peer_disconnected()
1966 * Method to emit a signal for a service discovery request.
1967 * The signal will carry station address, frequency, dialog token,
1987 iface = wpa_s->global->dbus; in wpas_dbus_signal_p2p_sd_request()
1993 if (wpa_s->p2p_mgmt) in wpas_dbus_signal_p2p_sd_request()
1994 wpa_s = wpa_s->parent; in wpas_dbus_signal_p2p_sd_request()
1995 if (!wpa_s->dbus_new_path) in wpas_dbus_signal_p2p_sd_request()
1999 if (!p2p_peer_known(wpa_s->global->p2p, sa)) in wpas_dbus_signal_p2p_sd_request()
2002 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_p2p_sd_request()
2010 COMPACT_MACSTR, wpa_s->dbus_new_path, MAC2STR(sa)); in wpas_dbus_signal_p2p_sd_request()
2027 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_p2p_sd_request()
2029 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_p2p_sd_request()
2036 * Method to emit a signal for a service discovery response.
2037 * The signal will carry station address, update indicator and it
2055 iface = wpa_s->global->dbus; in wpas_dbus_signal_p2p_sd_response()
2061 if (wpa_s->p2p_mgmt) in wpas_dbus_signal_p2p_sd_response()
2062 wpa_s = wpa_s->parent; in wpas_dbus_signal_p2p_sd_response()
2063 if (!wpa_s->dbus_new_path) in wpas_dbus_signal_p2p_sd_response()
2067 if (!p2p_peer_known(wpa_s->global->p2p, sa)) in wpas_dbus_signal_p2p_sd_response()
2070 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_p2p_sd_response()
2078 COMPACT_MACSTR, wpa_s->dbus_new_path, MAC2STR(sa)); in wpas_dbus_signal_p2p_sd_response()
2092 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_p2p_sd_response()
2094 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_p2p_sd_response()
2100 * wpas_dbus_signal_persistent_group - Send a persistent group related
2101 * event signal
2103 * @id: new persistent group id
2104 * @sig_name: signal name - PersistentGroupAdded, PersistentGroupRemoved
2110 int id, const char *sig_name, in wpas_dbus_signal_persistent_group() argument
2118 iface = wpa_s->global->dbus; in wpas_dbus_signal_persistent_group()
2124 if (wpa_s->p2p_mgmt) in wpas_dbus_signal_persistent_group()
2125 wpa_s = wpa_s->parent; in wpas_dbus_signal_persistent_group()
2126 if (!wpa_s->dbus_new_path) in wpas_dbus_signal_persistent_group()
2131 wpa_s->dbus_new_path, id); in wpas_dbus_signal_persistent_group()
2133 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_persistent_group()
2147 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_persistent_group()
2149 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_persistent_group()
2156 * wpas_dbus_signal_persistent_group_added - Send a persistent_group
2157 * added signal
2159 * @id: new persistent group id
2164 struct wpa_supplicant *wpa_s, int id) in wpas_dbus_signal_persistent_group_added() argument
2166 wpas_dbus_signal_persistent_group(wpa_s, id, "PersistentGroupAdded", in wpas_dbus_signal_persistent_group_added()
2172 * wpas_dbus_signal_persistent_group_removed - Send a persistent_group
2173 * removed signal
2175 * @id: persistent group id
2180 struct wpa_supplicant *wpa_s, int id) in wpas_dbus_signal_persistent_group_removed() argument
2182 wpas_dbus_signal_persistent_group(wpa_s, id, "PersistentGroupRemoved", in wpas_dbus_signal_persistent_group_removed()
2188 * wpas_dbus_signal_p2p_wps_failed - Signals WpsFailed event
2192 * Sends Event dbus signal with name "fail" and dictionary containing
2204 iface = wpa_s->global->dbus; in wpas_dbus_signal_p2p_wps_failed()
2210 if (wpa_s->p2p_mgmt) in wpas_dbus_signal_p2p_wps_failed()
2211 wpa_s = wpa_s->parent; in wpas_dbus_signal_p2p_wps_failed()
2213 if (!wpa_s->dbus_new_path) in wpas_dbus_signal_p2p_wps_failed()
2215 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_p2p_wps_failed()
2225 !wpa_dbus_dict_append_int32(&dict_iter, "msg", fail->msg) || in wpas_dbus_signal_p2p_wps_failed()
2227 fail->config_error) || in wpas_dbus_signal_p2p_wps_failed()
2229 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_p2p_wps_failed()
2231 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_p2p_wps_failed()
2238 * wpas_dbus_signal_p2p_group_formation_failure - Signals GroupFormationFailure event
2242 * Sends Event dbus signal and string reason code when available.
2250 iface = wpa_s->global->dbus; in wpas_dbus_signal_p2p_group_formation_failure()
2256 if (wpa_s->p2p_mgmt) in wpas_dbus_signal_p2p_group_formation_failure()
2257 wpa_s = wpa_s->parent; in wpas_dbus_signal_p2p_group_formation_failure()
2259 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_p2p_group_formation_failure()
2267 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_p2p_group_formation_failure()
2269 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_p2p_group_formation_failure()
2276 * wpas_dbus_signal_p2p_invitation_received - Emit InvitationReceived signal
2281 * @id: Persistent group id or %0 if not persistent group
2287 const u8 *bssid, int id, in wpas_dbus_signal_p2p_invitation_received() argument
2294 iface = wpa_s->global->dbus; in wpas_dbus_signal_p2p_invitation_received()
2300 if (wpa_s->p2p_mgmt) in wpas_dbus_signal_p2p_invitation_received()
2301 wpa_s = wpa_s->parent; in wpas_dbus_signal_p2p_invitation_received()
2303 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_p2p_invitation_received()
2322 (id && in wpas_dbus_signal_p2p_invitation_received()
2323 !wpa_dbus_dict_append_int32(&dict_iter, "persistent_id", id)) || in wpas_dbus_signal_p2p_invitation_received()
2330 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_p2p_invitation_received()
2339 * wpas_dbus_signal_prop_changed - Signals change of property
2352 if (wpa_s->dbus_new_path == NULL) in wpas_dbus_signal_prop_changed()
2353 return; /* Skip signal since D-Bus setup is not yet ready */ in wpas_dbus_signal_prop_changed()
2417 wpa_dbus_mark_property_changed(wpa_s->global->dbus, in wpas_dbus_signal_prop_changed()
2418 wpa_s->dbus_new_path, in wpas_dbus_signal_prop_changed()
2422 wpa_s->global->dbus->con, wpa_s->dbus_new_path); in wpas_dbus_signal_prop_changed()
2428 * wpas_dbus_bss_signal_prop_changed - Signals change of BSS property
2431 * @id: unique BSS identifier
2438 unsigned int id) in wpas_dbus_bss_signal_prop_changed() argument
2443 if (!wpa_s->dbus_new_path) in wpas_dbus_bss_signal_prop_changed()
2448 prop = "Signal"; in wpas_dbus_bss_signal_prop_changed()
2488 wpa_s->dbus_new_path, id); in wpas_dbus_bss_signal_prop_changed()
2490 wpa_dbus_mark_property_changed(wpa_s->global->dbus, path, in wpas_dbus_bss_signal_prop_changed()
2496 * wpas_dbus_sta_signal_prop_changed - Signals change of STA property
2523 wpa_s->dbus_new_path, MAC2STR(address)); in wpas_dbus_sta_signal_prop_changed()
2525 wpa_dbus_mark_property_changed(wpa_s->global->dbus, path, in wpas_dbus_sta_signal_prop_changed()
2531 * wpas_dbus_signal_debug_level_changed - Signals change of debug param
2538 wpa_dbus_mark_property_changed(global->dbus, WPAS_DBUS_NEW_PATH, in wpas_dbus_signal_debug_level_changed()
2545 * wpas_dbus_signal_debug_timestamp_changed - Signals change of debug param
2552 wpa_dbus_mark_property_changed(global->dbus, WPAS_DBUS_NEW_PATH, in wpas_dbus_signal_debug_timestamp_changed()
2559 * wpas_dbus_signal_debug_show_keys_changed - Signals change of debug param
2566 wpa_dbus_mark_property_changed(global->dbus, WPAS_DBUS_NEW_PATH, in wpas_dbus_signal_debug_show_keys_changed()
2581 obj_desc->user_data = priv; in wpas_dbus_register()
2582 obj_desc->user_data_free_func = priv_free; in wpas_dbus_register()
2583 obj_desc->methods = methods; in wpas_dbus_register()
2584 obj_desc->properties = properties; in wpas_dbus_register()
2585 obj_desc->signals = signals; in wpas_dbus_register()
2587 for (n = 0; properties && properties->dbus_property; properties++) in wpas_dbus_register()
2590 obj_desc->prop_changed_flags = os_zalloc(n); in wpas_dbus_register()
2591 if (!obj_desc->prop_changed_flags) in wpas_dbus_register()
2724 int idx = priv->globals_start; in wpa_dbus_ctrl_iface_props_deinit()
2727 while (priv->all_interface_properties[idx].dbus_property) in wpa_dbus_ctrl_iface_props_deinit()
2729 priv->all_interface_properties[idx++].dbus_property); in wpa_dbus_ctrl_iface_props_deinit()
2730 os_free((char *) priv->all_interface_properties); in wpa_dbus_ctrl_iface_props_deinit()
2735 * wpas_dbus_ctrl_iface_init - Initialize dbus control interface
2737 * Returns: 0 on success or -1 on failure
2751 return -1; in wpas_dbus_ctrl_iface_init()
2761 wpas_dbus_register(obj_desc, priv->global, NULL, in wpas_dbus_ctrl_iface_init()
2766 wpa_printf(MSG_DEBUG, "dbus: Register D-Bus object '%s'", in wpas_dbus_ctrl_iface_init()
2776 priv->dbus_new_initialized = 1; in wpas_dbus_ctrl_iface_init()
2781 return -1; in wpas_dbus_ctrl_iface_init()
2786 * wpas_dbus_ctrl_iface_deinit - Deinitialize dbus ctrl interface for
2795 if (!priv->dbus_new_initialized) in wpas_dbus_ctrl_iface_deinit()
2797 wpa_printf(MSG_DEBUG, "dbus: Unregister D-Bus object '%s'", in wpas_dbus_ctrl_iface_deinit()
2799 dbus_connection_unregister_object_path(priv->con, WPAS_DBUS_NEW_PATH); in wpas_dbus_ctrl_iface_deinit()
2838 * wpas_dbus_register_network - Register a configured network with dbus
2841 * Returns: 0 on success, -1 on failure
2864 if (wpa_s == NULL || wpa_s->global == NULL || !wpa_s->dbus_new_path) in wpas_dbus_register_network()
2866 ctrl_iface = wpa_s->global->dbus; in wpas_dbus_register_network()
2872 wpa_s->dbus_new_path, ssid->id); in wpas_dbus_register_network()
2891 arg->wpa_s = wpa_s; in wpas_dbus_register_network()
2892 arg->ssid = ssid; in wpas_dbus_register_network()
2899 wpa_s->ifname, obj_desc)) in wpas_dbus_register_network()
2902 wpas_dbus_signal_network_added(wpa_s, ssid->id); in wpas_dbus_register_network()
2908 return -1; in wpas_dbus_register_network()
2913 * wpas_dbus_unregister_network - Unregister a configured network from dbus
2915 * @nid: network id
2916 * Returns: 0 on success, -1 on failure
2928 ssid = wpa_config_get_network(wpa_s->conf, nid); in wpas_dbus_unregister_network()
2936 if (wpa_s->global == NULL || wpa_s->dbus_new_path == NULL) in wpas_dbus_unregister_network()
2938 ctrl_iface = wpa_s->global->dbus; in wpas_dbus_unregister_network()
2944 wpa_s->dbus_new_path, nid); in wpas_dbus_unregister_network()
2978 { "Signal", WPAS_DBUS_NEW_IFACE_BSS, "n",
3040 * wpas_dbus_unregister_bss - Unregister a scanned BSS from dbus
3043 * @id: unique BSS identifier
3044 * Returns: 0 on success, -1 on failure
3049 u8 bssid[ETH_ALEN], unsigned int id) in wpas_dbus_unregister_bss() argument
3055 if (wpa_s == NULL || wpa_s->global == NULL || !wpa_s->dbus_new_path) in wpas_dbus_unregister_bss()
3057 ctrl_iface = wpa_s->global->dbus; in wpas_dbus_unregister_bss()
3063 wpa_s->dbus_new_path, id); in wpas_dbus_unregister_bss()
3070 return -1; in wpas_dbus_unregister_bss()
3081 * wpas_dbus_register_bss - Register a scanned BSS with dbus
3084 * @id: unique BSS identifier
3085 * Returns: 0 on success, -1 on failure
3090 u8 bssid[ETH_ALEN], unsigned int id) in wpas_dbus_register_bss() argument
3098 if (wpa_s == NULL || wpa_s->global == NULL || !wpa_s->dbus_new_path) in wpas_dbus_register_bss()
3100 ctrl_iface = wpa_s->global->dbus; in wpas_dbus_register_bss()
3106 wpa_s->dbus_new_path, id); in wpas_dbus_register_bss()
3121 arg->wpa_s = wpa_s; in wpas_dbus_register_bss()
3122 arg->id = id; in wpas_dbus_register_bss()
3131 wpa_s->ifname, obj_desc)) { in wpas_dbus_register_bss()
3145 return -1; in wpas_dbus_register_bss()
3195 * wpas_dbus_unregister_sta - Unregister a connected station from dbus
3198 * Returns: 0 on success, -1 on failure
3208 if (!wpa_s || !wpa_s->global) in wpas_dbus_unregister_sta()
3210 ctrl_iface = wpa_s->global->dbus; in wpas_dbus_unregister_sta()
3216 wpa_s->dbus_new_path, MAC2STR(sta)); in wpas_dbus_unregister_sta()
3224 return -1; in wpas_dbus_unregister_sta()
3235 * wpas_dbus_register_sta - Register a connected station with dbus
3238 * Returns: 0 on success, -1 on failure
3250 if (!wpa_s || !wpa_s->global) in wpas_dbus_register_sta()
3252 ctrl_iface = wpa_s->global->dbus; in wpas_dbus_register_sta()
3258 wpa_s->dbus_new_path, MAC2STR(sta)); in wpas_dbus_register_sta()
3273 arg->wpa_s = wpa_s; in wpas_dbus_register_sta()
3274 arg->sta = sta; in wpas_dbus_register_sta()
3282 wpa_s->ifname, obj_desc)) { in wpas_dbus_register_sta()
3296 return -1; in wpas_dbus_register_sta()
4393 num_const = ARRAY_SIZE(wpas_dbus_interface_properties) - 1; in wpa_dbus_ctrl_iface_props_init()
4396 priv->globals_start = num_const; in wpa_dbus_ctrl_iface_props_init()
4401 priv->all_interface_properties = os_zalloc(all_size); in wpa_dbus_ctrl_iface_props_init()
4402 if (!priv->all_interface_properties) { in wpa_dbus_ctrl_iface_props_init()
4405 return -1; in wpa_dbus_ctrl_iface_props_init()
4409 os_memcpy(priv->all_interface_properties, in wpa_dbus_ctrl_iface_props_init()
4430 desc = &priv->all_interface_properties[count++]; in wpa_dbus_ctrl_iface_props_init()
4431 desc->dbus_property = uscore_to_dbus(global_name); in wpa_dbus_ctrl_iface_props_init()
4432 if (!desc->dbus_property) { in wpa_dbus_ctrl_iface_props_init()
4434 "dbus: Not enough memory for D-Bus property name"); in wpa_dbus_ctrl_iface_props_init()
4437 desc->dbus_interface = WPAS_DBUS_NEW_IFACE_INTERFACE; in wpa_dbus_ctrl_iface_props_init()
4438 desc->type = "s"; in wpa_dbus_ctrl_iface_props_init()
4439 desc->getter = wpas_dbus_getter_iface_global; in wpa_dbus_ctrl_iface_props_init()
4440 desc->setter = wpas_dbus_setter_iface_global; in wpa_dbus_ctrl_iface_props_init()
4441 desc->data = global_name; in wpa_dbus_ctrl_iface_props_init()
4448 return -1; in wpa_dbus_ctrl_iface_props_init()
4453 * wpas_dbus_register_interface - Register an interface with D-Bus
4455 * Returns: 0 on success, -1 on failure
4460 struct wpas_dbus_priv *ctrl_iface = wpa_s->global->dbus; in wpas_dbus_register_interface()
4468 wpa_s->dbus_new_path = os_zalloc(WPAS_DBUS_OBJECT_PATH_MAX); in wpas_dbus_register_interface()
4469 if (wpa_s->dbus_new_path == NULL) in wpas_dbus_register_interface()
4470 return -1; in wpas_dbus_register_interface()
4471 next = ctrl_iface->next_objid++; in wpas_dbus_register_interface()
4472 os_snprintf(wpa_s->dbus_new_path, WPAS_DBUS_OBJECT_PATH_MAX, in wpas_dbus_register_interface()
4484 ctrl_iface->all_interface_properties, in wpas_dbus_register_interface()
4488 wpa_s->dbus_new_path); in wpas_dbus_register_interface()
4490 wpa_s->dbus_new_path, in wpas_dbus_register_interface()
4491 wpa_s->ifname, obj_desc)) in wpas_dbus_register_interface()
4499 os_free(wpa_s->dbus_new_path); in wpas_dbus_register_interface()
4500 wpa_s->dbus_new_path = NULL; in wpas_dbus_register_interface()
4502 return -1; in wpas_dbus_register_interface()
4507 * wpas_dbus_unregister_interface - Unregister the interface from D-Bus
4509 * Returns: 0 on success, -1 on failure
4516 if (wpa_s == NULL || wpa_s->global == NULL) in wpas_dbus_unregister_interface()
4518 ctrl_iface = wpa_s->global->dbus; in wpas_dbus_unregister_interface()
4519 if (ctrl_iface == NULL || wpa_s->dbus_new_path == NULL) in wpas_dbus_unregister_interface()
4523 wpa_s->dbus_new_path); in wpas_dbus_unregister_interface()
4526 if (wpa_s->preq_notify_peer) { in wpas_dbus_unregister_interface()
4528 os_free(wpa_s->preq_notify_peer); in wpas_dbus_unregister_interface()
4529 wpa_s->preq_notify_peer = NULL; in wpas_dbus_unregister_interface()
4534 wpa_s->dbus_new_path)) in wpas_dbus_unregister_interface()
4535 return -1; in wpas_dbus_unregister_interface()
4539 os_free(wpa_s->dbus_new_path); in wpas_dbus_unregister_interface()
4540 wpa_s->dbus_new_path = NULL; in wpas_dbus_unregister_interface()
4643 * wpas_dbus_signal_peer - Send a peer related event signal
4646 * @interface: name of the interface emitting this signal.
4649 * @sig_name: signal name - DeviceFound
4663 if (wpa_s->p2p_mgmt) in wpas_dbus_signal_peer()
4664 wpa_s = wpa_s->parent; in wpas_dbus_signal_peer()
4666 iface = wpa_s->global->dbus; in wpas_dbus_signal_peer()
4669 if (iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_signal_peer()
4674 wpa_s->dbus_new_path, MAC2STR(dev_addr)); in wpas_dbus_signal_peer()
4676 msg = dbus_message_new_signal(wpa_s->dbus_new_path, interface, in wpas_dbus_signal_peer()
4688 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_peer()
4690 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_peer()
4697 * wpas_dbus_signal_peer_found - Send a peer found signal
4716 * wpas_dbus_signal_peer_lost - Send a peer lost signal
4731 * wpas_dbus_register_peer - Register a discovered peer object with dbus
4734 * Returns: 0 on success, -1 on failure
4746 if (wpa_s == NULL || wpa_s->global == NULL) in wpas_dbus_register_peer()
4749 ctrl_iface = wpa_s->global->dbus; in wpas_dbus_register_peer()
4753 wpa_s = wpa_s->parent->parent; in wpas_dbus_register_peer()
4754 if (!wpa_s->dbus_new_path) in wpas_dbus_register_peer()
4759 wpa_s->dbus_new_path, MAC2STR(dev_addr)); in wpas_dbus_register_peer()
4778 arg->wpa_s = wpa_s; in wpas_dbus_register_peer()
4779 os_memcpy(arg->p2p_device_addr, dev_addr, ETH_ALEN); in wpas_dbus_register_peer()
4787 wpa_s->ifname, obj_desc)) in wpas_dbus_register_peer()
4794 return -1; in wpas_dbus_register_peer()
4798 * wpas_dbus_unregister_peer - Unregister a peer object with dbus
4801 * Returns: 0 on success, -1 on failure
4813 if (wpa_s == NULL || wpa_s->global == NULL) in wpas_dbus_unregister_peer()
4816 wpa_s = wpa_s->parent->parent; in wpas_dbus_unregister_peer()
4817 if (!wpa_s->dbus_new_path) in wpas_dbus_unregister_peer()
4820 ctrl_iface = wpa_s->global->dbus; in wpas_dbus_unregister_peer()
4826 wpa_s->dbus_new_path, MAC2STR(dev_addr)); in wpas_dbus_unregister_peer()
4837 * wpas_dbus_signal_p2p_find_stopped - Send P2P Find stopped signal
4847 iface = wpa_s->global->dbus; in wpas_dbus_signal_p2p_find_stopped()
4853 if (wpa_s->p2p_mgmt) in wpas_dbus_signal_p2p_find_stopped()
4854 wpa_s = wpa_s->parent; in wpas_dbus_signal_p2p_find_stopped()
4856 if (!wpa_s->dbus_new_path) in wpas_dbus_signal_p2p_find_stopped()
4859 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_p2p_find_stopped()
4865 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_p2p_find_stopped()
4872 * wpas_dbus_signal_peer_groups_changed - Send peer group change property signal
4883 if (wpa_s->p2p_mgmt) in wpas_dbus_signal_peer_groups_changed()
4884 wpa_s = wpa_s->parent; in wpas_dbus_signal_peer_groups_changed()
4886 if (!wpa_s->dbus_new_path) in wpas_dbus_signal_peer_groups_changed()
4890 wpa_s->dbus_new_path, MAC2STR(dev_addr)); in wpas_dbus_signal_peer_groups_changed()
4892 wpa_dbus_mark_property_changed(wpa_s->global->dbus, peer_obj_path, in wpas_dbus_signal_peer_groups_changed()
4963 * wpas_dbus_register_p2p_group - Register a p2p group object with dbus
4966 * Returns: 0 on success, -1 on failure
4978 if (wpa_s == NULL || wpa_s->global == NULL) in wpas_dbus_register_p2p_group()
4981 ctrl_iface = wpa_s->global->dbus; in wpas_dbus_register_p2p_group()
4985 if (wpa_s->dbus_groupobj_path) { in wpas_dbus_register_p2p_group()
4987 __func__, wpa_s->dbus_groupobj_path); in wpas_dbus_register_p2p_group()
4994 wpa_s->dbus_groupobj_path = os_strdup(group_obj_path); in wpas_dbus_register_p2p_group()
4995 if (wpa_s->dbus_groupobj_path == NULL) in wpas_dbus_register_p2p_group()
5012 wpa_s->ifname, obj_desc)) in wpas_dbus_register_p2p_group()
5018 if (wpa_s->dbus_groupobj_path) { in wpas_dbus_register_p2p_group()
5019 os_free(wpa_s->dbus_groupobj_path); in wpas_dbus_register_p2p_group()
5020 wpa_s->dbus_groupobj_path = NULL; in wpas_dbus_register_p2p_group()
5027 * wpas_dbus_unregister_p2p_group - Unregister a p2p group object from dbus
5037 if (wpa_s == NULL || wpa_s->global == NULL) in wpas_dbus_unregister_p2p_group()
5040 if (wpa_s->p2p_mgmt) in wpas_dbus_unregister_p2p_group()
5041 wpa_s = wpa_s->parent; in wpas_dbus_unregister_p2p_group()
5043 ctrl_iface = wpa_s->global->dbus; in wpas_dbus_unregister_p2p_group()
5047 if (!wpa_s->dbus_groupobj_path) { in wpas_dbus_unregister_p2p_group()
5057 wpa_s->dbus_groupobj_path); in wpas_dbus_unregister_p2p_group()
5060 wpa_s->dbus_groupobj_path); in wpas_dbus_unregister_p2p_group()
5062 os_free(wpa_s->dbus_groupobj_path); in wpas_dbus_unregister_p2p_group()
5063 wpa_s->dbus_groupobj_path = NULL; in wpas_dbus_unregister_p2p_group()
5079 * wpas_dbus_register_persistent_group - Register a configured(saved)
5084 * Returns: 0 on success, -1 on failure
5097 if (wpa_s == NULL || wpa_s->global == NULL) in wpas_dbus_register_persistent_group()
5099 wpa_s = wpa_s->parent->parent; in wpas_dbus_register_persistent_group()
5100 if (!wpa_s->dbus_new_path) in wpas_dbus_register_persistent_group()
5104 if (ssid->disabled != 2 && !ssid->p2p_persistent_group) in wpas_dbus_register_persistent_group()
5105 return -1; /* should we return w/o complaining? */ in wpas_dbus_register_persistent_group()
5107 if (wpa_s->p2p_mgmt) in wpas_dbus_register_persistent_group()
5108 wpa_s = wpa_s->parent; in wpas_dbus_register_persistent_group()
5110 ctrl_iface = wpa_s->global->dbus; in wpas_dbus_register_persistent_group()
5120 wpa_s->dbus_new_path, ssid->id); in wpas_dbus_register_persistent_group()
5143 arg->wpa_s = wpa_s; in wpas_dbus_register_persistent_group()
5144 arg->ssid = ssid; in wpas_dbus_register_persistent_group()
5151 wpa_s->ifname, obj_desc)) in wpas_dbus_register_persistent_group()
5154 wpas_dbus_signal_persistent_group_added(wpa_s, ssid->id); in wpas_dbus_register_persistent_group()
5160 return -1; in wpas_dbus_register_persistent_group()
5165 * wpas_dbus_unregister_persistent_group - Unregister a persistent_group
5168 * @nid: network id
5169 * Returns: 0 on success, -1 on failure
5186 if (wpa_s == NULL || wpa_s->global == NULL) in wpas_dbus_unregister_persistent_group()
5189 wpa_s = wpa_s->parent->parent; in wpas_dbus_unregister_persistent_group()
5191 ctrl_iface = wpa_s->global->dbus; in wpas_dbus_unregister_persistent_group()
5192 if (ctrl_iface == NULL || !wpa_s->dbus_new_path) in wpas_dbus_unregister_persistent_group()
5197 wpa_s->dbus_new_path, nid); in wpas_dbus_unregister_persistent_group()
5214 * wpas_dbus_signal_hs20_t_c_acceptance - Signals a terms and conditions was
5226 iface = wpa_s->global->dbus; in wpas_dbus_signal_hs20_t_c_acceptance()
5229 if (!iface || !wpa_s->dbus_new_path) in wpas_dbus_signal_hs20_t_c_acceptance()
5232 msg = dbus_message_new_signal(wpa_s->dbus_new_path, in wpas_dbus_signal_hs20_t_c_acceptance()
5240 dbus_connection_send(iface->con, msg, NULL); in wpas_dbus_signal_hs20_t_c_acceptance()
5242 wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); in wpas_dbus_signal_hs20_t_c_acceptance()