175ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen/* 275ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen * WPA Supplicant / dbus-based control interface for p2p 304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * Copyright (c) 2011-2012, Intel Corporation 475ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen * 504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * This software may be distributed under the terms of the BSD license. 604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * See README for more details. 775ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen */ 875ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 975ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen#ifndef DBUS_NEW_HANDLERS_P2P_H 1075ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen#define DBUS_NEW_HANDLERS_P2P_H 1175ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 1275ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinenstruct peer_handler_args { 1375ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen struct wpa_supplicant *wpa_s; 1475ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen u8 p2p_device_addr[ETH_ALEN]; 1575ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen}; 1675ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 1775ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen/* 1875ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen * P2P Device methods 1975ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen */ 2075ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 2175ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_find( 2275ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 2375ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 2475ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_stop_find( 2575ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 2675ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 2775ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_rejectpeer( 2875ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 2975ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 3075ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_listen( 3175ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 3275ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 3375ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_extendedlisten( 3475ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 3575ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 3675ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_presence_request( 3775ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 3875ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 3975ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_prov_disc_req( 4075ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 4175ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 4275ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_group_add( 4375ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 4475ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 4575ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_connect( 4675ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, 4775ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen struct wpa_supplicant *wpa_s); 4875ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 49b1e52102c211357f585e9ff6d54501e90254326eDmitry ShmidtDBusMessage * wpas_dbus_handler_p2p_cancel(DBusMessage *message, 50b1e52102c211357f585e9ff6d54501e90254326eDmitry Shmidt struct wpa_supplicant *wpa_s); 51b1e52102c211357f585e9ff6d54501e90254326eDmitry Shmidt 5275ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_invite( 5375ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, 5475ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen struct wpa_supplicant *wpa_s); 5575ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 5675ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_disconnect( 5775ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 5875ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 59a3dc30964aa24aea2b518246f6812663a1103490Dmitry ShmidtDBusMessage * wpas_dbus_handler_p2p_remove_client( 60a3dc30964aa24aea2b518246f6812663a1103490Dmitry Shmidt DBusMessage *message, struct wpa_supplicant *wpa_s); 61a3dc30964aa24aea2b518246f6812663a1103490Dmitry Shmidt 6275ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_flush( 6375ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 6475ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 6575ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_add_service( 6675ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 6775ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 6875ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_delete_service( 6975ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 7075ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 7175ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_flush_service( 7275ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 7375ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 7475ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_service_sd_req( 7575ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 7675ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 7775ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_service_sd_res( 7875ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 7975ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 8075ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_service_sd_cancel_req( 8175ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 8275ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 8375ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_service_update( 8475ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 8575ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 8675ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage *wpas_dbus_handler_p2p_serv_disc_external( 8775ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 8875ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 8975ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen/* 9075ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen * P2P Device property accessor methods. 9175ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen */ 92d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_setter_p2p_device_config); 93d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_device_config); 94d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peers); 95d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_role); 96d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_group); 97d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peergo); 9875ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 9975ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen/* 10075ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen * P2P Peer properties. 10175ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen */ 102d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_device_name); 103d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_manufacturer); 104d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_modelname); 105d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_modelnumber); 106d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_serialnumber); 107d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_primary_device_type); 108d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_config_method); 109d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_level); 110d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_device_capability); 111d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_group_capability); 112d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_secondary_device_types); 113d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_vendor_extension); 114d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_ies); 115d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_device_address); 116d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_groups); 117d30ac604c9f6da71a0dd7f46d25be05a2a62cfbbDmitry Shmidt 11875ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen/* 11975ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen * P2P Group properties 12075ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen */ 121d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_members); 122d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_ssid); 123d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_bssid); 124d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_frequency); 125d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_passphrase); 126d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_psk); 127d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_vendor_ext); 128d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_setter_p2p_group_vendor_ext); 12975ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 13075ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen/* 13175ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen * P2P Persistent Groups and properties 13275ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen */ 133d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_persistent_groups); 134d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_persistent_group_properties); 135d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_setter_persistent_group_properties); 1361f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 13775ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage * wpas_dbus_handler_add_persistent_group( 13875ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 13975ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 14075ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage * wpas_dbus_handler_remove_persistent_group( 14175ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 14275ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 14375ecf5267604f166b85a7ee2cf0d9cb682966680Jouni MalinenDBusMessage * wpas_dbus_handler_remove_all_persistent_groups( 14475ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen DBusMessage *message, struct wpa_supplicant *wpa_s); 14575ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 146661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt#ifdef CONFIG_WIFI_DISPLAY 147d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_getter_global_wfd_ies); 148d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDECLARE_ACCESSOR(wpas_dbus_setter_global_wfd_ies); 149661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt#endif /* CONFIG_WIFI_DISPLAY */ 15075ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen 15175ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen#endif /* DBUS_NEW_HANDLERS_P2P_H */ 152