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 */
92dbus_bool_t wpas_dbus_setter_p2p_device_config(DBusMessageIter *iter,
93					       DBusError *error,
94					       void *user_data);
95
96dbus_bool_t wpas_dbus_getter_p2p_device_config(DBusMessageIter *iter,
97					       DBusError *error,
98					       void *user_data);
99
100dbus_bool_t wpas_dbus_getter_p2p_peers(DBusMessageIter *iter, DBusError *error,
101				       void *user_data);
102
103dbus_bool_t wpas_dbus_getter_p2p_role(DBusMessageIter *iter, DBusError *error,
104				      void *user_data);
105
106dbus_bool_t wpas_dbus_getter_p2p_group(DBusMessageIter *iter, DBusError *error,
107				       void *user_data);
108
109dbus_bool_t wpas_dbus_getter_p2p_peergo(DBusMessageIter *iter,
110					DBusError *error,
111					void *user_data);
112
113/*
114 * P2P Peer properties.
115 */
116
117dbus_bool_t wpas_dbus_getter_p2p_peer_device_name(DBusMessageIter *iter,
118						  DBusError *error,
119						  void *user_data);
120
121dbus_bool_t wpas_dbus_getter_p2p_peer_manufacturer(DBusMessageIter *iter,
122						   DBusError *error,
123						   void *user_data);
124
125dbus_bool_t wpas_dbus_getter_p2p_peer_modelname(DBusMessageIter *iter,
126						DBusError *error,
127						void *user_data);
128
129dbus_bool_t wpas_dbus_getter_p2p_peer_modelnumber(DBusMessageIter *iter,
130						  DBusError *error,
131						  void *user_data);
132
133dbus_bool_t wpas_dbus_getter_p2p_peer_serialnumber(DBusMessageIter *iter,
134						   DBusError *error,
135						   void *user_data);
136
137dbus_bool_t wpas_dbus_getter_p2p_peer_primary_device_type(
138	DBusMessageIter *iter, DBusError *error, void *user_data);
139
140dbus_bool_t wpas_dbus_getter_p2p_peer_config_method(DBusMessageIter *iter,
141						    DBusError *error,
142						    void *user_data);
143
144dbus_bool_t wpas_dbus_getter_p2p_peer_level(DBusMessageIter *iter,
145					    DBusError *error,
146					    void *user_data);
147
148dbus_bool_t wpas_dbus_getter_p2p_peer_device_capability(DBusMessageIter *iter,
149							DBusError *error,
150							void *user_data);
151
152dbus_bool_t wpas_dbus_getter_p2p_peer_group_capability(DBusMessageIter *iter,
153						       DBusError *error,
154						       void *user_data);
155
156dbus_bool_t wpas_dbus_getter_p2p_peer_secondary_device_types(
157	DBusMessageIter *iter, DBusError *error, void *user_data);
158
159dbus_bool_t wpas_dbus_getter_p2p_peer_vendor_extension(DBusMessageIter *iter,
160						       DBusError *error,
161						       void *user_data);
162
163dbus_bool_t wpas_dbus_getter_p2p_peer_ies(DBusMessageIter *iter,
164					  DBusError *error,
165					  void *user_data);
166
167dbus_bool_t wpas_dbus_getter_p2p_peer_device_address(DBusMessageIter *iter,
168						     DBusError *error,
169						     void *user_data);
170
171dbus_bool_t wpas_dbus_getter_p2p_peer_groups(DBusMessageIter *iter,
172					     DBusError *error,
173					     void *user_data);
174
175/*
176 * P2P Group properties
177 */
178
179dbus_bool_t wpas_dbus_getter_p2p_group_members(DBusMessageIter *iter,
180					       DBusError *error,
181					       void *user_data);
182
183dbus_bool_t wpas_dbus_getter_p2p_group_ssid(DBusMessageIter *iter,
184					    DBusError *error,
185					    void *user_data);
186
187dbus_bool_t wpas_dbus_getter_p2p_group_bssid(DBusMessageIter *iter,
188					     DBusError *error,
189					     void *user_data);
190
191dbus_bool_t wpas_dbus_getter_p2p_group_frequency(DBusMessageIter *iter,
192						 DBusError *error,
193						 void *user_data);
194
195dbus_bool_t wpas_dbus_getter_p2p_group_passphrase(DBusMessageIter *iter,
196						  DBusError *error,
197						  void *user_data);
198
199dbus_bool_t wpas_dbus_getter_p2p_group_psk(DBusMessageIter *iter,
200					   DBusError *error,
201					   void *user_data);
202
203dbus_bool_t wpas_dbus_getter_p2p_group_vendor_ext(DBusMessageIter *iter,
204						  DBusError *error,
205						  void *user_data);
206
207dbus_bool_t wpas_dbus_setter_p2p_group_vendor_ext(DBusMessageIter *iter,
208						  DBusError *error,
209						  void *user_data);
210
211/*
212 * P2P Persistent Groups and properties
213 */
214
215dbus_bool_t wpas_dbus_getter_persistent_groups(DBusMessageIter *iter,
216					       DBusError *error,
217					       void *user_data);
218
219dbus_bool_t wpas_dbus_getter_persistent_group_properties(DBusMessageIter *iter,
220	DBusError *error, void *user_data);
221
222dbus_bool_t wpas_dbus_setter_persistent_group_properties(DBusMessageIter *iter,
223							 DBusError *error,
224							 void *user_data);
225
226DBusMessage * wpas_dbus_handler_add_persistent_group(
227	DBusMessage *message, struct wpa_supplicant *wpa_s);
228
229DBusMessage * wpas_dbus_handler_remove_persistent_group(
230	DBusMessage *message, struct wpa_supplicant *wpa_s);
231
232DBusMessage * wpas_dbus_handler_remove_all_persistent_groups(
233	DBusMessage *message, struct wpa_supplicant *wpa_s);
234
235#ifdef CONFIG_WIFI_DISPLAY
236
237dbus_bool_t wpas_dbus_getter_global_wfd_ies(DBusMessageIter *iter,
238					    DBusError *error,
239					    void *user_data);
240
241dbus_bool_t wpas_dbus_setter_global_wfd_ies(DBusMessageIter *iter,
242					    DBusError *error,
243					    void *user_data);
244
245#endif /* CONFIG_WIFI_DISPLAY */
246
247#endif /* DBUS_NEW_HANDLERS_P2P_H */
248