1/*
2 * WPA Supplicant / dbus-based control interface for p2p
3 * Copyright (c) 2011-2012, Intel Corporation
4 *
5 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
7 */
8
9#ifndef DBUS_NEW_HANDLERS_P2P_H
10#define DBUS_NEW_HANDLERS_P2P_H
11
12struct peer_handler_args {
13	struct wpa_supplicant *wpa_s;
14	u8 p2p_device_addr[ETH_ALEN];
15};
16
17/*
18 * P2P Device methods
19 */
20
21DBusMessage *wpas_dbus_handler_p2p_find(
22	DBusMessage *message, struct wpa_supplicant *wpa_s);
23
24DBusMessage *wpas_dbus_handler_p2p_stop_find(
25	DBusMessage *message, struct wpa_supplicant *wpa_s);
26
27DBusMessage *wpas_dbus_handler_p2p_rejectpeer(
28	DBusMessage *message, struct wpa_supplicant *wpa_s);
29
30DBusMessage *wpas_dbus_handler_p2p_listen(
31	DBusMessage *message, struct wpa_supplicant *wpa_s);
32
33DBusMessage *wpas_dbus_handler_p2p_extendedlisten(
34	DBusMessage *message, struct wpa_supplicant *wpa_s);
35
36DBusMessage *wpas_dbus_handler_p2p_presence_request(
37	DBusMessage *message, struct wpa_supplicant *wpa_s);
38
39DBusMessage *wpas_dbus_handler_p2p_prov_disc_req(
40	DBusMessage *message, struct wpa_supplicant *wpa_s);
41
42DBusMessage *wpas_dbus_handler_p2p_group_add(
43	DBusMessage *message, struct wpa_supplicant *wpa_s);
44
45DBusMessage *wpas_dbus_handler_p2p_connect(
46		DBusMessage *message,
47		struct wpa_supplicant *wpa_s);
48
49DBusMessage * wpas_dbus_handler_p2p_cancel(DBusMessage *message,
50					   struct wpa_supplicant *wpa_s);
51
52DBusMessage *wpas_dbus_handler_p2p_invite(
53		DBusMessage *message,
54		struct wpa_supplicant *wpa_s);
55
56DBusMessage *wpas_dbus_handler_p2p_disconnect(
57	DBusMessage *message, struct wpa_supplicant *wpa_s);
58
59DBusMessage * wpas_dbus_handler_p2p_remove_client(
60	DBusMessage *message, struct wpa_supplicant *wpa_s);
61
62DBusMessage *wpas_dbus_handler_p2p_flush(
63	DBusMessage *message, struct wpa_supplicant *wpa_s);
64
65DBusMessage *wpas_dbus_handler_p2p_add_service(
66	DBusMessage *message, struct wpa_supplicant *wpa_s);
67
68DBusMessage *wpas_dbus_handler_p2p_delete_service(
69	DBusMessage *message, struct wpa_supplicant *wpa_s);
70
71DBusMessage *wpas_dbus_handler_p2p_flush_service(
72	DBusMessage *message, struct wpa_supplicant *wpa_s);
73
74DBusMessage *wpas_dbus_handler_p2p_service_sd_req(
75	DBusMessage *message, struct wpa_supplicant *wpa_s);
76
77DBusMessage *wpas_dbus_handler_p2p_service_sd_res(
78	DBusMessage *message, struct wpa_supplicant *wpa_s);
79
80DBusMessage *wpas_dbus_handler_p2p_service_sd_cancel_req(
81	DBusMessage *message, struct wpa_supplicant *wpa_s);
82
83DBusMessage *wpas_dbus_handler_p2p_service_update(
84	DBusMessage *message, struct wpa_supplicant *wpa_s);
85
86DBusMessage *wpas_dbus_handler_p2p_serv_disc_external(
87	DBusMessage *message, struct wpa_supplicant *wpa_s);
88
89/*
90 * P2P Device property accessor methods.
91 */
92DECLARE_ACCESSOR(wpas_dbus_setter_p2p_device_config);
93DECLARE_ACCESSOR(wpas_dbus_getter_p2p_device_config);
94DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peers);
95DECLARE_ACCESSOR(wpas_dbus_getter_p2p_role);
96DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group);
97DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peergo);
98
99/*
100 * P2P Peer properties.
101 */
102DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_device_name);
103DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_manufacturer);
104DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_modelname);
105DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_modelnumber);
106DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_serialnumber);
107DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_primary_device_type);
108DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_config_method);
109DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_level);
110DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_device_capability);
111DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_group_capability);
112DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_secondary_device_types);
113DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_vendor_extension);
114DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_ies);
115DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_device_address);
116DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_groups);
117DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_vsie);
118
119/*
120 * P2P Group properties
121 */
122DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_members);
123DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_ssid);
124DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_bssid);
125DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_frequency);
126DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_passphrase);
127DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_psk);
128DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_vendor_ext);
129DECLARE_ACCESSOR(wpas_dbus_setter_p2p_group_vendor_ext);
130
131/*
132 * P2P Persistent Groups and properties
133 */
134DECLARE_ACCESSOR(wpas_dbus_getter_persistent_groups);
135DECLARE_ACCESSOR(wpas_dbus_getter_persistent_group_properties);
136DECLARE_ACCESSOR(wpas_dbus_setter_persistent_group_properties);
137
138DBusMessage * wpas_dbus_handler_add_persistent_group(
139	DBusMessage *message, struct wpa_supplicant *wpa_s);
140
141DBusMessage * wpas_dbus_handler_remove_persistent_group(
142	DBusMessage *message, struct wpa_supplicant *wpa_s);
143
144DBusMessage * wpas_dbus_handler_remove_all_persistent_groups(
145	DBusMessage *message, struct wpa_supplicant *wpa_s);
146
147#ifdef CONFIG_WIFI_DISPLAY
148DECLARE_ACCESSOR(wpas_dbus_getter_global_wfd_ies);
149DECLARE_ACCESSOR(wpas_dbus_setter_global_wfd_ies);
150#endif /* CONFIG_WIFI_DISPLAY */
151
152#endif /* DBUS_NEW_HANDLERS_P2P_H */
153