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